如何检查第二个字母是否与正则表达式相同?

时间:2012-09-17 19:05:59

标签: regex grep

我需要匹配第二个字母是“a”的字符串,我当前的正则表达式是:    ^([^a-zA-Z]*[a-zA-Z][^a-zA-Z]*)a+ 但这个匹配比我需要的少,我甚至不知道它不匹配但是你知道问题出在哪里,或者是否有更好的方法这样做? 例如,我需要匹配这些:

"  kamcnn"
",.,ya..--/**+-00"
"0        0   q    a"

我匹配每个我能想象的字符串,但我的结果仍然比我应该得到的要低。 编辑:“字母”是指[a-zA-Z]类中的一个角色。

1 个答案:

答案 0 :(得分:0)

试试这个:

^[^a-zA-Z]*[a-zA-Z][^a-zA-Z]*a.*

如果第二个ASCII字母是a

,则匹配整个字符串
^           # Start of string
[^a-zA-Z]*  # Match any number of non-letters
[a-zA-Z]    # Match one ASCII letter
[^a-zA-Z]*  # Match any number of non-letters
a           # Match an a
.*          # Match whatever follows