Regex 正则表达式以取消匹配空格、空标记或$symbol
我在XSD中为一个XML元素编写正则表达式。 条件如下: 它不应为空或空白,或者标记值不应包含后跟字母的$。 例如:Regex 正则表达式以取消匹配空格、空标记或$symbol,regex,xsd,Regex,Xsd,我在XSD中为一个XML元素编写正则表达式。 条件如下: 它不应为空或空白,或者标记值不应包含后跟字母的$。 例如: <element>I am $A test</element>--- this is invalid. <element>I am $a test</element>--- this is invalid. <element></element>--- this is invalid. <eleme
<element>I am $A test</element>--- this is invalid.
<element>I am $a test</element>--- this is invalid.
<element></element>--- this is invalid.
<element> </element>--- this is invalid.
<element>I am $123.0 test on 02/01/2018 ongoing </element>--- this is valid.
<element>I am $123.0 test on 02/01/2018 ongoing
month for another year
</element>--- this is valid.
<element>I am test</element>--- this is valid.
我是$A测试---这是无效的。
我是$a一次测试,这是无效的。
---这是无效的。
---这是无效的。
我是2018年1月2日进行的$123.0测试,这是有效的。
我是$123.0,2018年1月2日的测试正在进行中
再过一年的一个月
---这是有效的。
我正在测试——这是有效的。
用于检查我在正则表达式下面使用的空/空格。
但这对于后面跟字母表的$character不起作用。
XSD:
你能帮我解决上面的问题吗。这适用于大多数引擎
(?s)^(?。*\$[a-zA-Z])(?!\s*$).$
@sln XSD regex引擎是一个文本导向的引擎,不支持lookarounds。哦,它是什么确切的引擎?@sln XML Schema regex引擎。然后,你能得到的最接近的引擎是^[^$\s]*(?:\s*\$\d[^$\s]*\s].\s+\s++[$\s]*)$
它将不检查空元素的位置。所以,没有空元素检查可用。。。很抱歉
<xs:element name="element" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:pattern value="[\s\S]*[^ ][\s\S]*" />
</xs:restriction>
</xs:simpleType>
</xs:element>