using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.text.regularexpressions;
using system.threading.tasks;
namespace _05單詞邊界
\b)=> 左\b 表示左邊匹配不到單詞,向右可以匹配到單詞,是單詞邊界
//=> 右\b 表示右邊匹配不到單詞字元,向左邊可以匹配到單詞字元,是單詞邊界
// \btest\b相當於 test的左右兩邊都不為[a-za-z0-9_]時為單詞邊界
/*將單詞row 替換成單詞line 並不是用字串row 替換成line
*/string msg = @"tomorrow.the row we are looking for is. row number 10";
// \b:表示單詞的邊界 (只判斷不匹配-斷言)
//msg = msg.replace("row", "line"); =>字串替換
msg = regex.replace(msg, @"\brow\b","line"); //=>單詞替換
console.writeline(msg);
/*將三個字元組成的單詞提取出來
*///string msg2 = @"hi! where are you from ? i from china";
string msg2 = @"hi! where#are#you#from ? i from china";
matchcollection matchs = regex.matches(msg2, @"\b[a-za-z]\b");
foreach (match item in matchs)
/*提取###
匹配到0個 \b只能匹配單詞字元[a-za-z0-9_] =》\w
*/string msg3 = @"### ## # ##### ### ## #######";
matchcollection matchs2 = regex.matches(msg3, @"\b###\b");
//matchcollection matchs2 = regex.matches(msg3, @"(?<= )###(?= )");
foreach (match item in matchs2)
/*(?<=aa)(?=bb)斷言 字串左邊為aa右邊為bb時匹配正則
*/#endregion
console.readkey();}}
}
正規表示式筆記 2 邊界符中的單詞邊界 b
regex state 首先單詞字元在正規表示式中定義為 w 也就是 a za z 0 9 所謂的乙個單詞由1個或1個以上的單詞字元組成,多個單詞之間由非單詞字元隔開。b 是乙個位置匹配符,它有如下兩種含義 匹配字串的首字元前和末字元後面的位置 前提是首字元 末字元是乙個單詞字元 w 在單詞字元 w...
正規表示式之字元邊界
非零寬字元 能夠匹配字元的 特殊 字元。如 d會匹配乙個數字,s會匹配空白字元 零寬字元 不匹配字元,只標記位置 具體含義見下文 表示式表示含義 與字串開始的地方匹配 與字串結束的地方匹配 b匹配乙個單詞邊界 上例表示 匹配以 a 作為字串開始的位置 上例表示 匹配以 l 作為字串結尾的位置 初學者...
正規表示式的邊界表示
接下來學習正規表示式的邊界表示,邊界表示就是在寫正規表示式的時候,限制匹配的字串的開始和結束邊界。字元 描述 匹配字串開頭 匹配字串結尾 b 匹配乙個單詞的邊界 b 匹配非單詞邊界 注意 邊界字元只用於描述邊界資訊,不能用於字元的匹配。示例 完善之前課時中關於手機號碼匹配的示例,在匹配超過11位的手...