返回信息流问个问题
/r/n/t/t/t(str1 value1, /r/nvalue2)/r/n/t/t/t(str2 value3, /r/nvalue4)/r/n
用什么方法提取出 value3比较好?
1,字符串查找?
2,正则表达式?
还有没有其他方法?
另外有没有人做过括号多重匹配的?
这是一条镜像帖。来源:北邮人论坛 / cpp / #71725同步于 2013/6/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
用正则表达式还是字符串查找?
steven0329
2013/6/12镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
对于转义字符加'\',例如匹配'('就得用"\(",匹配')'就得用"\)";
至于你说的“回车”,不确定你的文本串是什么风格的,回车符是'\r'(匹配字符串就应该是"\\r"了),不过感觉你指的应该是换行符'\n'(匹配字符串就应该是"\\n"了)吧?
另外对于Windows下的文本内容多数都要匹配"\r\n"的~
【 在 steven0329 的大作中提到: 】
: 例如:
: (xx strValue1
: strValue2
: ...................
因为有多个括号,所以"\\(*\\)"会把这个都匹配了,但是如果写"\\([^)]*\\)"匹配的是空字符串。
很奇怪
【 在 tonyjansan 的大作中提到: 】
: 对于转义字符加'\',例如匹配'('就得用"\(",匹配')'就得用"\)";
: 至于你说的“回车”,不确定你的文本串是什么风格的,回车符是'\r'(匹配字符串就应该是"\\r"了),不过感觉你指的应该是换行符'\n'(匹配字符串就应该是"\\n"了)吧?
: 另外对于Windows下的文本内容多数都要匹配"\r\n"的~
: ...................
你的这个括号是嵌套还是并列?如果嵌套的话应该是"\([^()]*(\([^)]+\))\)"
并列应该顺序补全所有特征字符~
像你主楼修改的那个:
"[^()]*\([^()]*\)[^()]*\([^)]*\)"
【 在 steven0329 的大作中提到: 】
: 因为有多个括号,所以"\\(*\\)"会把这个都匹配了,但是如果写"\\([^)]*\\)"匹配的是空字符串。
: 很奇怪
: