[英]Regex matching extra characters
使用: 此工具评估我的表情
我的测试字符串:“小”蒂米(蒂姆)麦格劳
我的正则表达式:^ [()“] | .. [”()]
看起来我正确地捕获了想要的字符,但我的比赛包括比赛前刚出现的任何字符。 我不确定是什么,或者如果有的话,捕捉这样的前面的字符做错了吗? 目标是捕获我们系统之一的名称字段中不需要的字符。
您当前的正则表达式^[()"]|.["()]
表示以下内容:
^[()"]|.["()]
匹配以下任一
^[()"]
符合以下条件
^
在行首处声明位置 [()"]
匹配列表中的任何字符()"
.["()]
符合以下条件
.
匹配任何字符(这是您遇到的问题) ["()]
匹配列表"()
存在的任何字符 实际上,您可以将正则表达式缩短为[()"]
。
但是,最终,创建一个求反集来确定哪些字符有效而不是无效字符将容易得多。 这种方法将使您获得[^\\w ]
类的东西。 这意味着匹配集合中不存在的任何内容。 因此,请匹配所有非单词和非空格字符(在示例字符串中,这将匹配符号()"
因为它们不在集合中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.