我想用括号将第一个单词括起来,并将空格后面的“任何内容”也用括号括起来。
不幸的是,命令:(\w) (.*)
不起作用。
例如,对于句子“如何匹配一个单词后跟任何内容”,它将匹配“w 匹配一个单词后跟任何内容”
答案1
\w
代表一个单词特点,不是您所指的意思中的单词。即,来自 az 和 AZ 的单个字母。
为了满足您的要求,请指定^(\w+) (.*)$
。
具体来说:
^
- 字符串的开头
(
- 开始捕获组
\w
- 与 az 或 AZ 匹配的任何字符
+
- 至少有 1 种或多种上述类型
)
- 结束我们的捕获组
- 空格字符
(
- 开始我们的第二个捕获组
.
- 任何非换行符
*
- 0 个或更多前一种类型
)
- 结束捕获组
$
- 字符串结尾
使用您的例句How to match a word followed by anything
,这将匹配 Group 1 =How
和 Group 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