我需要的是:
WORDS
Capital
F.M.I
áéíóúÁÉÍÓÚÑñ
En La El Los Ese
SALUD
答案 0 :(得分:3)
^(([A-Z](\.[A-Z])+)|([A-Z][A-Za-z]+))$
匹配首字母大写/所有以点词分隔的大写/大写字母。
它做的是:
([A-Z](\.[A-Z])+)
匹配大写字母,后跟一个或多个模式一个点后跟一个大写字母 - 第三个要求
([A-Z][A-Za-z]+)
匹配大写字母后跟一个或多个字母(也允许使用单个大写字母,将*替换为*) - 第一和第二个要求
如果第一个字母是大写字母,允许字符áéíóúÁÉÍÓÚÑñ,只需在字符类中包含这些字符
([A-Z][A-Za-záéíóúÁÉÍÓÚÑñ]+)
为了排除某些单词,您可以使用负面向前看,如
^(?!SALUD)(?!Los)(([A-Z](\.[A-Z])+)|([A-Z][A-Za-záéíóúÁÉÍÓÚÑñ]+))$
避免使用SALUD和Los。
(?!SALUD)
确保以下字符序列不是 SALUD ,同样是(?!Los)
我没有很好地满足你的第四个要求。
http://www.regular-expressions.info/是学习正则表达式的好地方。
如果你想匹配,无论开始和结束如何都要移除锚点。
答案 1 :(得分:0)
我认为这可能有用 \ B(?!洛)((A-Z +)|([A-Z] [A-ZA-záéíóúÁÉÍÓÚÑñ] +))(SALUD?!)