我最后一次使用正则表达式是2年前,即便如此,我认为这不是最简单的事情!
有人能告诉我如何将这个文本分成三组(数量,名称,价格)吗?
1 Corn Dog 5.00
3 Corn Dog 15.00
@ 5.00
2 Diet Cola 4.00
@ 2.00
我自己在http://www.regular-expressions.info/reference.html之后尝试过,但这些符号势不可挡!我很想开始做一些时髦的字符串操作作为计划B。
我正在使用Objective-C,所以我可能会使用NSPredicate来执行表达式。
答案 0 :(得分:1)
一个方便的工具:Online RegEx Tester
我会从^\([:digit]+\)[:space:]*\(.*\)[:space:]\([:digit:]+\.[:digit:]{2}\)
请记住,不同的正则表达式编译器对反斜杠()[]*+|
答案 1 :(得分:1)
我更喜欢这个正则表达式:
^\s*(\d+)\x09+([^\x09]+)\x09+\s*(.+)\s*$
如果您将捕获组称为正则表达式的搜索部分,则可以将捕获组称为\1
,\2
,\3
,您可以将捕获组称为$1
,$2
,$3
如果您将其称为正则表达式的替换部分。
但是,我的正则表达式要求您使用一个或多个制表符分隔每个字段。我这样做是因为用空格分隔会引起歧义,因此正则表达式会更长。