如果 - 我想抛出验证错误 -
- 用户输入包含 php 标签
<?php
(也适用于短标签<?
) <?xml
但如果没有检测到 php 标签,我想允许 XML 标签( )。- 在两者都存在的情况下,我想抛出错误。
我现在一直在使用以下正则表达式 -
`(.*?)<\?(php)?[^xml](.*?)`
但如果输入仅包含 PHP 短标签,则不匹配。
我想匹配以下 -
PHP 短标签
<?
PHP 标签
<?php
xml标签存在的PHP标签
<?php ?>
<?xml
不符合以下
<?xml
更新
如果输入仅包含,而没有任何结尾空格,则使用此正则表达式(.*?)<\?[^x](.*?)
不会检测字符。我想我只需要在以下位置添加一个条件以进一步检查是否有更多字符 -<?
<?
|
v
`(.*?)<\?[^x](.*?)`
如果我尝试使用 - (.*?)<\?([^x]?)(.*?)
,它不再排除xml
. 你看到我挂在哪里了吗?我想这里有一些正则表达式允许的东西。有任何想法吗?