86 regex
如何创建正则表达式以匹配字符串开头的单词.我们希望stop
在字符串的开头匹配,任何东西都可以跟随它.
例如,表达式应匹配:
stop
stop random
stopping
Run Code Online (Sandbox Code Playgroud)
谢谢.
Vin*_*vic 161
如果您希望仅匹配以停止使用开头的行
^stop
Run Code Online (Sandbox Code Playgroud)
如果您希望匹配以单词stop开头后跟空格的行
^stop\s
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望匹配以单词stop开头但后跟空格或任何其他非单词字符的行,您可以使用(您的正则表达式允许)
^stop\W
Run Code Online (Sandbox Code Playgroud)
另一方面,下面的内容匹配大多数正则表达式的字符串开头的单词(在这些样式中\ w匹配\ W的相反)
^\w
Run Code Online (Sandbox Code Playgroud)
如果你的味道没有\ w快捷方式,你可以使用
^[a-zA-Z0-9]+
Run Code Online (Sandbox Code Playgroud)
要小心,这第二个成语只会匹配字母和数字,没有任何符号.
检查你的正则表达式味道手册,了解允许的快捷方式以及它们究竟匹配的内容(以及它们如何处理Unicode.)
Mik*_*scu 72
试试这个:
/^stop.*$/
Run Code Online (Sandbox Code Playgroud)
说明:
如果你想强制执行停止跟随空格,你可以像这样修改RegEx:
/^stop\s+.*$/
Run Code Online (Sandbox Code Playgroud)
注意:另请注意,上面的RegEx要求停用词后跟空格!所以它不匹配只包含:停止的行
Wax*_*axo 22
如果你想在一个单词停止之后匹配任何东西,不仅在行的开头你可以使用:\bstop.*\b
- 单词后跟行
或者如果你想匹配字符串中的单词使用\bstop[a-zA-Z]*
- 只有以stop开头的单词
或者^stop[a-zA-Z]*
仅为单词停止的行的开头 - 仅第一个单词
整行^stop.*
- 仅字符串的第一行
如果你想匹配以stop开头的每个字符串,包括换行符,请使用:/^stop.*/s
- 以stop开头的多行字符串
Sed*_*inc 16
就像@SharadHolani所说的那样.这与以" 停止 " 开头的每个单词都不匹配
.只有当它出现在" 停止前进 " 这一行的开头时.@Waxo给出了正确答案:
如果你想匹配任何以" stop " 开头并且只包含A到Z字母的单词,那么这个稍微好一些.
\bstop[a-zA-Z]*\b
Run Code Online (Sandbox Code Playgroud)
这将匹配所有
停止(1)
随机停止(2)
停止(3)
想停下来(4)
请停止(5)
但
/^stop[a-zA-Z]*/
Run Code Online (Sandbox Code Playgroud)
只会匹配(1)直到(3),但不会(4)和(5)
如果你想匹配任何以"停止"开头的东西,包括"停止","停止"和"停止"使用:
^stop
Run Code Online (Sandbox Code Playgroud)
如果你想匹配单词 stop后跟任何内容,如"停止前进","停止此",但不是"停止"而不是"停止"使用:
^stop\W
Run Code Online (Sandbox Code Playgroud)
/stop([a-zA-Z])+/
Run Code Online (Sandbox Code Playgroud)
将匹配任何停止词(停止,停止,停止等)
但是,如果您只想在字符串的开头匹配"停止"
/^stop/
Run Code Online (Sandbox Code Playgroud)
会做:D