正则表达式 - 仅在字符串包含任何字母字符时匹配字符串

时间:2009-03-02 07:48:07

标签: c# .net regex match alpha

示例字符串

785*()&!~`a

##$%$~2343

455frt&*&*

我想要捕获第一个和第三个但不是第二个,因为它不包含任何字母字符plz help

5 个答案:

答案 0 :(得分:5)

事实上,我认为[a-zA-Z]可能足以匹配您的字符串。

要抓住整个内容,请尝试:^.*[a-zA-Z].*$

答案 1 :(得分:3)

这是一种可能的方式:

.*[a-zA-Z]+

答案 2 :(得分:2)

你应该澄清一下'catpuring'你的意思:你想要整个字符串只是ascii位吗?

此外,您不会说它是否应该只匹配普通的罗马字母(A到Z),或者它是否也应匹配Unicode字符以匹配其他语言的字符串。

如果你只需要测试你的字符串,你可以在C#中执行:

bool matching = Regex.IsMatch(myString, "[a-zA-Z]");

您不需要任何其他内容,因为myString字符串中任何位置只有一个字母匹配(根据您的定义)。

答案 3 :(得分:0)

这是我最喜欢的RegEx测试网站:Javascript Regexp Tester and Cheat Sheet

答案 4 :(得分:0)

如果要匹配所有字母(包括非ascii字母),请使用p{L}代替[a-zA-Z]。请参阅Unicode categories