构建正则表达式模式以适应所有这些单词
Posted
技术标签:
【中文标题】构建正则表达式模式以适应所有这些单词【英文标题】:Building Regex pattern to accommodate all these words 【发布时间】:2021-12-08 05:22:40 【问题描述】:我正在构建一个正则表达式代码模式来查找从日志中提取以下单词。
我当前的正则表达式代码是[A-Z0-9a-z-]8,36
使用上述正则表达式代码识别以下单词。
a60a4c82-82ea-4ff3-ac64-f4450d45e72e
0222bfb3
2110122003513063314
需要修改正则表达式代码以使用上述正则表达式代码适应/识别以下字符串。 任何关于修改当前正则表达式查询以在单个正则表达式中实现所有字符串的建议/帮助都将非常重要。
Current string Required String
SAR-+96599853915-63aa6d10-2-2Mobile SAR-+96599853915-63aa6d10-2-2
63AA6CBDMobile 63AA6CBD
<CSError> CSError
“Mobile”一词是另一个字段,但由于它在日志中的 srting 之间没有空格,因此 Mobile 词会附加字符串,这就是我不希望字符串中出现“Mobile”的原因。
提前致谢。
【问题讨论】:
我不确定我是否理解,但也许您想在字符类中添加+
?即[A-Z0-9a-z+-]8,36
?为什么“移动”部分被忽略了?请edit这个问题并尝试解释您要匹配的确切规则。
【参考方案1】:
你可以使用
(?:(?!Mobile)[A-Z0-9a-z+-])7,36
请参阅regex demo。
它匹配不以Mobile
字符序列开头的任何 ASCII 字母、数字、+
或 -
字符的 7 到 36 次出现。
【讨论】:
以上是关于构建正则表达式模式以适应所有这些单词的主要内容,如果未能解决你的问题,请参考以下文章