我正在摆弄Java正则表达式,我试图提出一种模式,允许在任何其他地方使用某些字符集,但它不能以允许集中的某些字符开头.
例如,假设允许的字符是从A到Z,但字符串不能以X或Z开头.我该怎么做?我想出来了^[XZ][^A-Z]+,虽然它起作用,但它允许字符串以不在集合中的其他字母开头(例如用标点符号).
你可以使用这个正则表达式:
^[A-WY][A-Z]*$
Run Code Online (Sandbox Code Playgroud)
^[A-WY]确保第一个字符是A-W或Y[A-Z]*$ 将匹配任何大写英文字母的0或更多通常,为了排除某些字符,您也可以使用否定预测:
^(?![XZ])[A-Z]+$
Run Code Online (Sandbox Code Playgroud)
(?![XZ])否定X或Z开始时是消极的先行.