我需要强制执行模式LASTNAME / FIRSTNAME像Smith / John这样的东西。
字符可以是字母数字(小写/大写)还包括特殊字符,如ë等。
模式:
<xsd:pattern value="[a-zA-Z0-9]/[a-zA-Z0-9]"/>
基本上是规则 - 斜线前的任何东西 - 斜线后的任何东西 - 不应允许“/ John”,“John /”之类的模式 - 有效名称:“Gçéâêôéâê123/Gçéâêôéâê13”但不是“/Gçéâêôéâê123”或“Gçéâêôéâê123/”或“/”
提前致谢。
答案 0 :(得分:1)
以下正则表达式将与您的请求相匹配,包括"Gçéâêôéâê123/Gçéâêôéâê13"
:
<xs:pattern value="[\p{L}\p{P}\p{N}]+/[\p{L}\p{P}\p{N}]+"/>
<强>解释强>:
[...]+
匹配其中包含的一个或多个字符。/
匹配自己 潜在问题:多个/
s:
由于\p{P}
与标点字符(包括您的分隔符/
)相匹配,您可能最好直接添加'
而不是标点符号类别的一部分:
<xs:pattern value="[\p{L}\p{N}']+/[\p{L}\p{N}']+"/>
答案 1 :(得分:0)
我尝试使用以下模式:
<xsd:pattern value="\w+/\w+"/>
直到现在的测试结果看起来还不错。