0

我创建了一个正则表达式来支持 UTF8 字符:

XRegExp("^(\\p{L}|[0-9_/-]|\\s)+$");

现在,我不想支持 unicode 字符:'θ'(theta)。

4

2 回答 2

1

You can use negative lookahead for that:

^(?!.*θ)[\p{L}\s0-9_/-]+$

In your code:

XRegExp("^(?!.*θ)[\\p{L}\\s0-9_/-]+$");
于 2014-07-24T11:25:12.517 回答
1

我建议对您的表达进行最细微的调整:

^(?:(?!θ)\\p{L}|[0-9_/-]+|\\s+)+$

负前瞻(?!θ)确保\p{L}您可能匹配的不是θ. 还在中间部分添加了一个+量词,\s这样如果我们连续有几个,我们可以直接匹配它们而无需循环交替。

于 2014-07-24T11:51:22.210 回答