Regex 匹配“的正则表达式”;你好@c";但不是",;你好@cat";
当试图解析一个字符串时,我使用了这个正则表达式:Regex 匹配“的正则表达式”;你好@c";但不是",;你好@cat";,regex,Regex,当试图解析一个字符串时,我使用了这个正则表达式:*@${username}.*其中${username}是一个参数 如果${username}='c' 然后这就变成了*@c.* 因此,这将不正确地匹配类似于hello@cat的内容 我需要一个与整个字符串匹配的正则表达式: @c hello @c @c hello hello @c hello 并且不匹配: @cat 它不必是一个正则表达式。它可以是多个,覆盖所有案例,而不影响其他案例 只需确保用户名后面没有用户名组成部分:@$userna
*@${username}.*
其中${username}
是一个参数
如果${username}='c'
然后这就变成了*@c.*
因此,这将不正确地匹配类似于hello@cat
的内容
我需要一个与整个字符串匹配的正则表达式:
@c
hello @c
@c hello
hello @c hello
并且不匹配:
@cat
- 它不必是一个正则表达式。它可以是多个,覆盖所有案例,而不影响其他案例
@$username\([^a-z]\\\\\\\$\)
。注意,根据regexp解析器的不同,您可能需要删除反斜杠。这似乎可行
*@\bc\b.*
我还想知道为什么它在我的实际代码(Java)和derp中不起作用:
必须双倍逃脱:
.*@\\bc\\b.*
这似乎有效:
(^ |\s)@c(\s |$)
。可能有很多更好的方法,而不是正则表达式专家。可能重复的@JJJ问题是\b的@
字符,所以它不一样question@Tibrogargan为什么会有什么不同?@JJJ您链接的答案使用\b(和/或\w)来界定正在搜索的词(一个词),但问题是@不是一个单词字符,所以在它之前或之后都没有边界。这个词不是一个词。