Php 使用RegEx+;XPath检查2个关键字
$string()=“这是管理员费用” 我打算用RegEx写下一个X路径,返回上面的true语句,即当$string包含“admin charge”时,该语句返回true 请看,上面的语句可以有以下关键字Php 使用RegEx+;XPath检查2个关键字,php,regex,xpath,Php,Regex,Xpath,$string()=“这是管理员费用” 我打算用RegEx写下一个X路径,返回上面的true语句,即当$string包含“admin charge”时,该语句返回true 请看,上面的语句可以有以下关键字 管理员和费用| |费用 行政和收费| |收费 行政和收费| |收费 请看,这里的根关键字是“admin”和“charge” 因此,我想写一个包含X-Path和RegEx的脚本 以下是我目前的做法 contains(upper-case(normalize-space($string)), "A
contains(upper-case(normalize-space($string)), "ADMIN CHARGES")
这仍然只是完全匹配
我研究过,但主要是检查单个关键字,比如
contains(upper-case($string), "^[m/ADMIN CHARGE/]"
提前感谢将@JWiley的评论转化为答案:
contains($string,'admin') and contains($string,'charge')
将@JWiley的评论转化为答案:
contains($string,'admin') and contains($string,'charge')
正则表达式函数是语法的一部分 但是,PHP使用来处理其XML操作,这实现了 显示了使用PHP/Java桥和Saxon的替代方法。这可能是目前最好的选择 使用XSLT2.0库,可以使用该函数。来自TFM:
fn:matches($input as xs:string?, $pattern as xs:string) as xs:boolean
fn:matches( $input as xs:string?,
$pattern as xs:string,
$flags as xs:string) as xs:boolean
matches(., "admin\S*\scharges?", "i")
正则表达式函数是语法的一部分 但是,PHP使用来处理其XML操作,这实现了 显示了使用PHP/Java桥和Saxon的替代方法。这可能是目前最好的选择 使用XSLT2.0库,可以使用该函数。来自TFM:
fn:matches($input as xs:string?, $pattern as xs:string) as xs:boolean
fn:matches( $input as xs:string?,
$pattern as xs:string,
$flags as xs:string) as xs:boolean
matches(., "admin\S*\scharges?", "i")
这是PHP吗?如果是的话,你可以在你的问题上添加另一个标签。那么为什么不使用
contains($string,'admin')| contains($string,'charge')
?这是PHP吗?如果是这样的话,你可以在你的问题上添加另一个标签。那么为什么不使用contains($string,'admin')| contains($string,'charge')
?目前它是按照JWiley的建议和@Phrogz的回答应用的。但我希望给出的答案能够应用于XPath和正则表达式。如果在这种情况下使用RegEx,那就更好了。目前它是按照JWiley的建议应用的,@Phrogz回答。但我希望给出的答案能够应用于XPath和正则表达式。如果在这种情况下使用RegEx,那就更好了。