正则表达式 - 仅在字符串包含任何字母字符时匹配字符串
题
示例字符串
785*()&!~`a
##$%$~2343
455frt&*&*
我想要捕获第一个和第三个但不是第二个,因为它不包含任何字母字符plz help
解决方案
事实上,我认为 [a-zA-Z]
可能足以匹配你的字符串。
要捕捉整个事物,请尝试: ^。* [a-zA-Z]。* $
其他提示
这是一种可能的方式:
.*[a-zA-Z]+
你应该澄清一下'catpuring'你的意思:你想要整个字符串只是ascii位吗?
此外,您不会说它是否应该只匹配普通的罗马字母(A到Z),或者它是否也应匹配Unicode字符以匹配其他语言的字符串。
如果你只需要测试你的字符串,你可以在C#中执行:
bool matching = Regex.IsMatch(myString, "[a-zA-Z]");
你不需要任何其他东西,因为 myString
字符串中的任何一个字母都匹配(根据你的定义)。
这是我最喜欢的RegEx测试网站: Javascript Regexp Tester和Cheat Sheet
如果要匹配所有字母(包括非ascii字母),请使用 p {L}
而不是 [a-zA-Z]
。请参阅 Unicode类别。
不隶属于 StackOverflow