Bim*_*mmy 20 regex
我有一个看起来像这样的正则表达式
/^(?:\w+\s)*(\w+)$*/
什么是?:?
?:
Bol*_*ock 27
它表示子模式是非捕获子模式.这意味着匹配的内容(?:\w+\s),即使它被()它包围也不会出现在匹配列表中,只会(\w+).
(?:\w+\s)
()
(\w+)
你仍然在寻找一个特定的模式(在这种情况下,至少有一个单词后面只有一个空白字符),但你并不关心实际匹配的是什么.
cod*_*ict 9
这意味着只分组但不记得分组的部分。
默认情况下( ),正则表达式引擎会记住字符串中与其之间的模式匹配的部分。但有时我们只想在不触发正则表达式内存的情况下对模式进行分组,为此我们使用(?: 代替(
(
)
(?:
Chr*_*unt 7
除了提供的出色答案之外,它还有助于简化从匹配结果中提取组所需的代码。例如,您的(\w+)组被称为组 1,而不必关心出现在它之前的任何组。这可能会提高代码的可维护性。
归档时间:
15 年,5 月 前
查看次数:
13677 次
最近记录: