我想用方括號將第一個單字括起來,並且將空格後面的“任何內容”也用方括號括起來。
不幸的是,該命令:(\w) (.*)
不起作用。
例如,對於句子“如何匹配後跟任何內容的單字”,它將匹配“w 匹配後跟任何內容的單字”
答案1
\w
代表一個詞特點,不是你所說的意思的一個字。即,來自 az 和 AZ 的單個字母。
為了滿足您的要求,請指定^(\w+) (.*)$
.
這可以分解為:
^
- 字串的開頭
(
- 開始一個捕獲組
\w
- 任何匹配 az 或 AZ 的字符
+
- 至少 1 個或多個前一種類型
)
- 結束我們的捕獲組
- 一個空格字符
(
- 開始我們的第二個捕獲組
.
- 任何非換行符
*
- 0個或多個先前類型
)
- 結束捕獲組
$
- 字串結尾
使用您的例句How to match a word followed by anything
,這將匹配,組 1 =How
和組 2 =to match a word followed by anything
假設您想刪除第一個單詞,現在可以\2
在替換字段中使用,將所有匹配項替換為除第一個單詞之外的所有內容。
或者,再次查看您的第一個句子,您實際上想在第一個單字周圍加上括號,然後將句子的其餘部分替換為-\(\1\) \(\2\)
即 , literal left parenthesis
, capture group 1
, literal right parenthesis
, space
, literal left parenthesis
, capture group 2
。literal right parenthesis