我想用正则表达式处理字符串,但如何编写正确的正则表达式
i want to handle a string by regex, but how to write the right regex?
我有四个字符串,它们是"a.mob"、"b.mob"answers"c.mob">
我想匹配"a.mob"、"b.mob"和任何以".mob"结尾的字符串,但除了"c.mob"或"e.mob",我试着写一个正则表达式匹配:
"^(?!.*(c|e)).*?(?!mob)"
它完成了任务,但我认为它很难阅读和理解。
在我的脑海里,也许有一些简单明了的搭配。
我的问题是,我的比赛太复杂了吗?regex是最好的解决方案吗?
欢迎来到SO.
如果你想"匹配一个以something结尾的字符串",你必须在正则表达式中使用$
(别忘了引用.
,它是正则表达式中的一个特殊字符(:
"^[^ce]\.mob$"
(例如,否则将匹配biloximob5
(。
如果你的字符串可能与你显示的五个不同,也许你必须更通用:
"^([^ce]|..+)?\.mob$"
例如,与.mob
、elefante.mob
匹配,但与.mobi
或e.mob
不匹配。。。
我可以推荐像regexr这样的regex试用工具吗?这可能是一个好主意,这样您就可以训练regexen的使用。
更新:当您从perl/regexr返回到c++时,不要忘记引用反斜杠。。。。
相关文章:
- 使用正则表达式regex_search在字符串中查找字符串
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- C++正则表达式无限循环
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 带有多个字符分隔符的正则表达式
- C++ 使用增强正则表达式库时断言崩溃
- 有人可以帮助我处理正则表达式吗?
- 用C++编写正则表达式的正确方法是什么?
- 如何编写将验证以下字符串的正则表达式?
- 编写正则表达式模式 c++
- 如何编写正则表达式以匹配以下数字格式?
- 如何为字符串编写正则表达式,其中包含一个数字至少一个数字,并且不包含任何字母
- 在编写gawk代码时区分除法和正则表达式
- 如何用c++编写正则表达式
- 如何在Flex中编写以下正则表达式
- 编写c++正则表达式以匹配#include预处理指令
- 如何编写一个 boost::spirit::qi 解析器来做'?'在正则表达式中做的事情?
- 我想用正则表达式处理字符串,但如何编写正确的正则表达式
- 如何编写一个正则表达式来匹配((113)(96 15)(23))