读书人

用regex来实现模式匹配的有关问题

发布时间: 2012-02-14 19:19:19 作者: rapoo

用regex来实现模式匹配的问题。
用regex.h来实现Linux C++下的字符串校验:
校验这样的字符串:“字母|数字|数字”。
这样写好像不行:pattern="([a-z]+)|([0-9]+)|([0-9]+)
模式与模式之间是不是不能用"|",只能用":"啊?
我要用一个模式实现,请问怎么实现呢?

[解决办法]
"|" 在正则中,相当于 if 在 C 中,是保留的。
你的 pattern 有问题,没有开始与结束。
[解决办法]
pattern="([a-z]+)\\|([0-9]+)\\|([0-9]+)"

读书人网 >C++

热点推荐