Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Regex获取具有相同开始匹配和不同结束匹配的条目_Java_Regex - Fatal编程技术网

Java Regex获取具有相同开始匹配和不同结束匹配的条目

Java Regex获取具有相同开始匹配和不同结束匹配的条目,java,regex,Java,Regex,我有一个文本将有多个记录信息。所有记录都将以相同的正则表达式模式开始,并且每个记录都有一些唯一的文本。这里我只想获取包含文本“Entertainment Extra 4K”的记录的条目名称和值。我尝试使用正则表达式,但随着正则表达式开始与第一个匹配,我总是得到第一个记录值 在上面的链接中,我只想获得下面的记录信息 <input type='radio' class="radio" id="bb_radio128411" name='484' val

我有一个文本将有多个记录信息。所有记录都将以相同的正则表达式模式开始,并且每个记录都有一些唯一的文本。这里我只想获取包含文本“Entertainment Extra 4K”的记录的条目
名称和值。我尝试使用正则表达式,但随着正则表达式开始与第一个匹配,我总是得到第一个记录值

在上面的链接中,我只想获得下面的记录信息

<input type='radio' class="radio" id="bb_radio128411" name='484' value='13'
-----
----Entertainment Extra 4K
使用

name='(\d+)\s+value='(\d+)[^]*娱乐额外4K

解释

--------------------------------------------------------------------------------
名称=“”名称=\“”
--------------------------------------------------------------------------------
(组和捕获到\1:
--------------------------------------------------------------------------------
\d+数字(0-9)(1次或多次(匹配
尽可能多的钱)
--------------------------------------------------------------------------------
)结束\1
--------------------------------------------------------------------------------
'                        '\''
--------------------------------------------------------------------------------
\s+空格(\n、\r、\t、\f和“”)(1或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
值=“”值=\“”
--------------------------------------------------------------------------------
(分组并捕获到\2:
--------------------------------------------------------------------------------
\d+数字(0-9)(1次或多次(匹配
尽可能多的钱)
--------------------------------------------------------------------------------
)结束\2
--------------------------------------------------------------------------------
'                        '\''
--------------------------------------------------------------------------------
[^]*除:“”(0或更多)以外的任何字符
次数(匹配尽可能多的数量))
--------------------------------------------------------------------------------
娱乐额外“娱乐额外4K”
4K

您不应该使用正则表达式解析XML,而是应该进行一些XML到对象的映射,例如JAXB(JSR-222),这是防弹的。您可以排除匹配括号的内容
[^]*4K
,但最好使用解析器。