我想将XPath子组合器“ /”替换为CSS子组合器“>”。
考虑不同的现有CSS选择器,并在将一些空格转义之后,我尝试匹配正则表达式:
([\w\-\*\.\#]|[\[[^\]]+\]])>([\w\-\*\.\#]|\[ )
并替换为:
$1/$2
这对我发现的所有情况都适用,但只有一种:当选择器之一只有一个字符,并且被两个子组合器夹住时,例如:“ div> a> div”。
有人知道如何正确处理一个字母字符吗?
我在这里留下一些示例:http://fiddle.re/4xkrt
谢谢!
最佳答案
我必须重复亚历克斯的问题。 “为什么不将>替换为/”?
但是,如果您坚持要检查>两侧是否都包含内容,那么环顾四周便是解决之道。
(?<=[\w\-\*\.\#]|[\[[^\]]+\]])>(?=[\w\-\*\.\#]|\[ )
这只是捕获>,所以用
/
替换。