我最近asked for and received help关于将匹配最多包含两个星号的字符串的 Java 正则表达式,星号可以是第一个或最后一个字符,或两者兼而有之。这是我接受的答案:
^\\*?[^*]+\\*?$
当然,现在要求已经改变,我需要进一步限制字符串,使其只能包含小写或大写字母、空格或星号通配符。不允许使用数字或标点符号(*
除外)。通配符定位的限制仍然如上所述。
所以这些字符串将被匹配:
foo f oo *Foo FOO * *foo* *F o o*
并且这些字符串不会:
* ** **foo *f*oo 1 *1 _ foo1* _foo %foo^
我花了很长时间试图解决这个问题,但一直没能成功,即使使用 RegexBuddy .我不太喜欢在 Stack Overflow 上问这样一个具体的问题,但我自己无法找到解决方案。
提前致谢。
最佳答案
这应该有效:
^\\*?[a-zA-Z ]+\\*?$
关于java - Java 正则表达式需要进一步的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716926/