尽管我阅读了大量关于此主题(特别是使用lookarounds)的帖子,但我还没有理解是否可以使用正则表达式解决这个更一般的情况。
设置:
1)传入一个输入正则表达式
2)将输入正则表达式嵌入到否定正则表达式中,以便
3)匹配任何未被输入正则表达式识别的内容
示例:
给定:
我需要一个负正则表达式,可以嵌入我的输入正则表达式,以便我可以将我的文本匹配为:
请注意,我想要做的事情可以通过更改输入正则表达式来实现。
设置:
1)传入一个输入正则表达式
2)将输入正则表达式嵌入到否定正则表达式中,以便
3)匹配任何未被输入正则表达式识别的内容
示例:
给定:
input regex: "[-//s]";
并且
text: "self-service restaurant"
我需要一个负正则表达式,可以嵌入我的输入正则表达式,以便我可以将我的文本匹配为:
"self", "service", "restaurant"
重要的是,负正则表达式也应该能匹配一个简单的字符串,比如:
"restaurant"
请注意,我想要做的事情可以通过更改输入正则表达式来实现。
"[-//s]"
to
"[^-//s]"
然而,我想要一种更通用的方法,可以传入任何正则表达式到一个负面的正则表达式中。
[^-\\s]+
。对于所有情况都使用相同的表达式。 - Avinash Rajsplit
操作(你可能只需要将传递的正则表达式用(?:userRegex)+
括起来,以避免出现空结果,例如"fo--o".split("-")
,其结果将是["fo", "", "o"]
)。 - PshemoString myRegex = "[^" + "yourRegexHere"
可能会起到作用。 - Jonas Czechab
这样简单的东西编写否定形式也相当复杂。 - RealSkeptic