如何使用模式在正则表达式中获取此字段?

时间:2013-11-11 19:05:24

标签: regex find match

正则表达对我不是很友好,给我0场比赛哈哈。

基本上,我有一个大字符串,包括:

                            <td class="fieldLabel02Std">FIELD_LABEL</td>
                            <td class="fieldLabel02Std">


                                    VALUE

                            </td>

感谢FIELD_LABEL,我应该能够在更大的字符串中找到它。 “价值”就是我想要的。

我尝试过这种模式

String field = "FIELD_NAME";
String pattern = field + @"[\s\S]*?\<td[\s\S]*?\<\/td\>";

那不起作用。我在想这个: 获取field_name +一些字符+ =&gt;能够给我带来价值。

这给了我0场比赛。

非常感谢帮助!

3 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

FIELD_LABEL</td>[\n\r\s]*<td class="fieldLabel02Std">[\n\r\s]*(.+?)[\n\r\s]*</td>

通常使用正则表达式来解析HTML是不好的,但是如果你对已知的html格式有一个小问题而你不介意它们在更改逗号时停止工作...

答案 1 :(得分:0)

考虑以下Regex ......

(?<=FIELD_LABEL[\S\s]*?\<td.*?\>[\S\s]*?)\w+(?=[\S\s]*?\</td\>)

祝你好运!

答案 2 :(得分:0)

这是你要找的吗?

FIELD_LABEL<\/td>[.\s]*?<td.*?>[.\s]*?VALUE[.\s]*?<\/td>

String pattern = field + @"<\/td>[.\s]*?<td.*?>[.\s]*?VALUE[.\s]*?<\/td>";