查找单引号中包含的所有文本(字符,数字,特殊字符)

时间:2011-08-15 18:17:26

标签: c# regex

我正在尝试解析此字符串:

  

:p0 ='R'[类型:字符串(0)] ,: p1 ='Y'   [类型:字符串(0)] ,: p2 ='HBP00'[类型:字符串(0)] ,: p3 ='MAG.PF'

我想出了这个对我很有用的表达式:

:p\d*\b\s=\s'\w{1,}'

基本上我试图匹配所有参数和值:

  • :p0 ='R'
  • :p1 ='Y'
  • :p2 ='HBP00'
  • :p3 ='MAG.PF'

但我注意到这个表达不适用于:p3 点的原因,我估计。
我似乎无法找到一种方法来获取单引号中包含的所有文本。

感谢您的帮助。

更新

我混合了一些我在这里得到的信息,而对我有用的信息似乎是:

:p\d*\s=\s'[^']+'

4 个答案:

答案 0 :(得分:3)

我不太了解c#regex语法,但你应该

  • 包括“。”字符(类似于:p\d*\b\s=\s'[\w\.]+')或
  • 接受任何字符排除单引号(类似于 :p\d*\b\s=\s'[^']+'

答案 1 :(得分:2)

只需使用此模式:

'([\w.]+)'

演示:http://regexhero.net/tester/?id=89309902-4eac-4975-97bc-9c73640ee81f

答案 2 :(得分:1)

试试这个正则表达式:

:p\d*\b\s=\s'[\w\.]{1,}'

那将包括。字符。如果您需要扩展表达式以包含更多字符,请尝试在括号之间添加它们。

答案 3 :(得分:1)

对于上面的示例::p\d*\b\s=\s'[\w\.]{1,}'应该可以解决问题。而不是在单引号之间仅查找单词字符,而是查找单词字符& “点”字符。如果您需要搜索其他特殊字符,可以将它们添加到方括号部分[\w\.],例如[\w\.\?]会搜索单词字符,点和问号

示例:http://regexr.com?2uf6v