2016-10-05 137 views
-3

Hi I创建了一个正则表达式,其中包含问题标题中提到的字母。下面是我为一个文本创建的表达式:包含“AZ”,“az”,“0-9”,“ - ”,“()”,“&”,“/”,“”,“,”的文本的正则表达式

^[0-9A-Z-():,&/\'\\.\s]+$ 

然而,这不工作的情况下,当我进入“&”或逗号。我的意思是它不允许在文本中使用&和逗号。我错过了什么,或者这不是一个有效的表达。

+1

只需使用[Regex101(https://regex101.com/),如果你不知道。它不匹配大多数字符,因为它们没有被转义。 – Xufox

+0

[参考 - 这是什么正则表达式?](http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) - 因为这最终回答了真正的问题:我输入了一个正则表达式,不知道为什么它不起作用,因此不知道它的意思。答案包含解释正则表达式的自动化工具。 – Xufox

+0

模式在哪里以及如何使用?请分享代码。这不是重复的问题,但肯定是offtopic,因为没有提供代码来重现问题 - [正则表达式匹配'&'](http://regexstorm.net/tester?p=%5e%5b0-9A-Z-( )%3A%2C%26%2F%5C%27%图5c%5c所示。%5CS%5D%2B%24&I = AAA%26)。它在一些XML中使用吗? –

回答

1

-,当方括号内有特殊含义时,表示范围。

[A-Z]表示AZ之间的大写字母范围。在你的表达中,问题是这样的:Z-(,因为引擎不知道如何处理这样的范围。

更改为:^[0-9A-Z-():,&/\'\\.\s]+$至此:^[0-9A-Z():,&/\'\\.\s-]+$。请注意,现在,-已结束。

+0

嗨,我已经尝试过了,但它仍然不接受“&”字符。任何帮助表示赞赏 – Yash

+0

@Yash:你在用什么语言? – npinti

+0

我使用的是c#语言 – Yash

0

使用此正则表达式:

^[A-Za-z0-9&(),#&:/\s-]+$ 
相关问题