Regex 理解几个正则表达式
我有几个我不懂的正则表达式 为什么Regex 理解几个正则表达式,regex,Regex,我有几个我不懂的正则表达式 为什么[^dp]an与字符串'pan'不匹配?我以为正则表达式告诉你匹配任何包含'd'或'p',然后是'an'的子字符串。但它似乎不是这么说的 另外,我是否正确解释了:将[a-z]中的字符再匹配0次,直到达到“@”,然后将任何单词字符匹配1次或更多次,然后匹配除新行以外的任何字符,然后匹配“edu” 感谢您的帮助。[^表示不匹配集合中的字符。或者更准确地说,匹配除该集合中的字符外的任何字符(因此必须存在一个字符) 关于下一个,您基本上是正确的,尽管缺少了该正则表达式进
[^dp]an
与字符串'pan'
不匹配?我以为正则表达式告诉你匹配任何包含'd'或'p',然后是'an'的子字符串。但它似乎不是这么说的
另外,我是否正确解释了
:将[a-z]中的字符再匹配0次,直到达到“@”,然后将任何单词字符匹配1次或更多次,然后匹配除新行以外的任何字符,然后匹配“edu”
感谢您的帮助。
[^
表示不匹配集合中的字符。或者更准确地说,匹配除该集合中的字符外的任何字符(因此必须存在一个字符)
关于下一个,您基本上是正确的,尽管缺少了该正则表达式进行匹配所需的内容。
的含义实际上取决于,但它通常表示除换行符以外的任何字符。有时它可以包括换行符(例如,在特殊模式下的perl)
这可能对你有用,因为它分解了每一位的含义:
[dp]an将匹配丹或潘,但[^dp]an将匹配除丹和潘以外的任何东西,因此它将匹配兰、凡、谭等……您对第二个正则表达式的解释是正确的。