C 正規表示式 單詞邊界

2021-08-17 10:22:08 字數 1348 閱讀 7975

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位的手...