我需要一个正则表达式,其中包含一个字母字符。
例如,它应匹配:
8*x=16
x+2=2
u329398239823
43044343k43304403
......但不是:
xsfdjfefljefe
44434f9434343 f
98(***(*)))(*)(0((-900-87
32233232
答案 0 :(得分:12)
/^[^a-z]*([a-z])[^a-z]*$/i
i
用于不区分大小写的匹配。
^
和$
个锚点强制正则表达式匹配整个字符串。
( )
抓住这封信。
答案 1 :(得分:2)
尝试:
/^[^a-z]*([a-z]{1})[^a-z]*$/gim
表示字符串开始(^
),然后是任何非字母字符0次或更多次([^a-z]*
),然后只有一个字母字符被捕获为第一个匹配(([a-z]{1})
,它将是可以替换为$1
),然后再次为零或多个非alpha字符,然后是字符串的结尾($
)。
在行动here中查看。