正则表达式:在多行内的括号内找到“键”的值

时间:2011-05-27 11:55:16

标签: regex

我目前在正常表达方式上遇到了一些麻烦,我希望你们中的一些正则表达大师可能会有所帮助。

我将通过一个我想要实现的例子来简要解释我的问题。 我有一个输入字符串,带有我正在寻找的键和值,看起来有点像这样:

  • G01 ::通知((客户已经存在))
  • G01 :: MyNotice((客户已经存在,没关系......))
  • G02 :: OrderConfirm((订单已经确认! 请告知客户他的订单很快就会到货。))

在上面的例子中,我想得到G01 ::的所有内容,它包含在括号内。所以我的模式是

查看三个输入字符串,我应该添加一些注意事项:

4 个答案:

答案 0 :(得分:1)

我不确定你的问题是否完整......

这是你想要的吗?

G01::[^(]*\(\(([^)]*)

Regexr上查看。括号内的文本位于捕获组1中。

答案 1 :(得分:1)

试试这个正则表达式:G01::\w+ \(\((.*?)\)\)

答案 2 :(得分:0)

不是一个完整的问题,但这个怎么样?

.*\((.*?)\)

Result 1
The customer already exists

Result 2
The customer already exists, nevermind...

Result 3
The order has been comfirmed! Please inform the customer that his orders will arrive soon.

rubular

答案 3 :(得分:0)

G01.*\(\((.*)\)\)似乎有效(除非我误解了你的问题)。