Regex查找后跟空格、#、@或输入结尾的表达式
我想查找word的所有实例(比如myword),并附加一个条件,即该单词后面有空格、@、#或是输入的结尾 输入字符串:Regex查找后跟空格、#、@或输入结尾的表达式,regex,Regex,我想查找word的所有实例(比如myword),并附加一个条件,即该单词后面有空格、@、#或是输入的结尾 输入字符串: “myword#myword mywordrick myword@myword” 我希望正则表达式能够匹配除了我的WordTrick之外的所有东西- myword# myword myword@ myword 我可以用myword[@#\s] 我原以为我的单词[@#;\s\z]能与所有4个单词相匹配,但我只得到3个 我尝试myword[\z]但没有找到匹配项 我尝试mywo
“myword#myword mywordrick myword@myword”
我希望正则表达式能够匹配除了我的WordTrick之外的所有东西-
myword#
myword
myword@
myword
我可以用myword[@#\s]
我原以为我的单词[@#;\s\z]能与所有4个单词相匹配,但我只得到3个
我尝试myword[\z]
但没有找到匹配项
我尝试myword\z
并得到1个匹配项
我认为[]中的\z不起作用,因为[]是基于字符的逻辑,而不是基于位置的逻辑
有没有办法使用一个正则表达式来匹配我感兴趣的表达式?我不想同时使用myword[#@\s]
和myword\z
,除非我真的必须这样做。你的正则表达式是
myword(?:[@#\s]|$)
仅当字符串后面紧跟着
或@
或\s
或$
时,它才与字符串myword
以及符号匹配<代码>$表示行尾
\z
表示“字符串结束”,因此位于最后一行之后的点。对于“行尾”(每行),使用$
。这将在第二个myword
之后匹配空格。他也希望匹配空格。是吗?@AvinashRaj您正确地解释了问题,我正在等待能够接受答案。好的,我站着更正,但是@Maudicus从您的预期结果(我通过点击您的问题的编辑进行了检查)中不清楚您想要在输出中捕获“myword”
,而不是“myword”
。