正则表达式在分隔符之间匹配术语

时间:2016-01-10 15:18:14

标签: regex

我说我在Regex上占了一席之地但是在提取数据时,我迷失了方向。以下是我必须解析的输入:

格式:

String(String,...String,Integer)

实施例

Jeff(White,Male,24)

Mark Zuckerberg(Facebook,9)

Grocery(Eggs,Cheese,Pancake,Bread,Milk,Strawberry,0)

我希望匹配字符串和整数,但不匹配逗号或括号。

这个有点容易,因为字符串中没有符号,但有一天我需要从这样的字词中提取单词cake

<Header><Body><font=Tahoma,15pt><b>cake <\b><\font>每当我尝试时,我都会匹配整个陈述,而不仅仅是蛋糕字,因为我会这样:

.*<b>[a-zA-Z]+<\b>.*。所以是的...使用正则表达式来提取字符串的整个概念对我来说很陌生。通常如何在这两个例子中完成?

1 个答案:

答案 0 :(得分:1)

试试以下内容。

(?<=<b>)\s*\cake\s*(?=<\\b>)

如果您想匹配cake以外的字词,请尝试以下操作。

(?<=<b>)\s*\w+\s*(?=<\\b>)

正则表达式匹配问题(String(string, ... ,number))

的第一部分中的字符串
^\w+\((\w+,)+\d\)$

在您的问题的第一部分中,如果您想在字符串中仅匹配单词和数字(Grocery,Eggs,...,0),请尝试以下

(?<=^|\(|\,)\w+