3

示例字符串

785*()&!~`a

##$%$~2343

455frt&*&*

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

4

5 回答 5

5

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

要捕获整个事物,请尝试:^.*[a-zA-Z].*$

于 2009-03-02T08:04:30.807 回答
3

这是一种可能的方法:

.*[a-zA-Z]+
于 2009-03-02T08:02:02.747 回答
2

您也许应该澄清一下“catpuring”的含义:您是否想要整个字符串仅包含 ascii 位?

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

如果你只需要测试你的字符串,在 C# 中你会这样做:

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

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

于 2009-03-02T10:21:28.920 回答
0

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

于 2009-03-02T08:06:43.720 回答
0

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

于 2014-01-13T11:16:18.740 回答