我有一个带有两个可能输出的字符串,它要么被除以,&|
要么只是|
有一种方法来执行 or 表达式来确定在正则表达式中哪些是正确的?
问问题
91 次
1 回答
3
我认为您的意思是您希望使用&|
or匹配字符串|
,然后在匹配的情况下检查匹配的是哪种情况?
如果是这样,您可以通过匹配&
可选的正则表达式来做到这一点 - 正如 HamZa 在对问题的评论中所建议的那样 - 并使用re-find
或捕获组来捕获字符串的匹配部分,然后您可以检查:
(re-find #"&?\|" "asdf|adsf")
;= "|"
(re-find #"&?\|" "asdf&|asdf")
;= "&|"
使用捕获组(用于peek
获取向量的最终元素):
(re-matches #".*[^&](&?\|).*" "asdf&|asdf")
;= ["asdf&|asdf" "&|"]
于 2013-07-15T13:40:45.920 回答