使用JAVA的正则表达式问题
经过一周的网络搜索和尝试不同的方法,我放弃了。 我在Java中遇到了一个关于正则表达式的问题,我想知道是否可以在这里找到一些帮助
我试图在一个巨大的字符串中找到这个"< < < < 06 76 > > "
模式,我必须搜索它。
我知道的是,在最后一个"<"
和第一个">"
之间,最后一个">"
和第一个"<"
之间只能有数字类型的字符和任意数量的空格。此外,每个"<"
或">"
之间可以有1到5个空格。
我能够创建一个模式的一部分用于搜索,但我不能从那里继续前进。
下面是我能够创建的搜索模式
String tag_open = "<\\s{0,4}<\\s{0,4}<\\s{0,4}<\\s{0,4}";
我一直在尝试加入“任何数字,不超过4位,由1到5个空格分隔”的概念
最后,我能够“关闭”要搜索的模式
"\\s{0,4}>\\s{0,4}>\\s{0,4}"
对不起,我的文字太长了。我正在尽可能详细地说明。 非常感谢! 问候
我想我忘了说什么了。。。我真的。。。有两种类型的“标签”,我必须寻找。。。一个是“06 76”第二个是“39 85”。其中,每个“<;”之间的空间量及“>;”可以是1到4,并且最后一个“<;”之间的空格量相同和第一个数字字符。在最后一个数字字符和第一个“>;”之间也是如此。最后,从数字之间的1到6个空格
好的。。。希望这是我最后一次编辑。:-) 我必须找到这两种标签的位置,这两种标签将显示每个段落的行乞和结尾。该段的行乞由以下模式确定: 段落开头:四个“<;<;<;”*+一些空格+2个随机数字+一些空格+2个随机数字+一些空格+2“>;”*
- 在“<及“>;”可以在1到4个空格之间李>
段落末尾:两个“<;”*+一些空格+2个随机数字+一些空格+2个随机数字+一些空格+4“>;>;>;>;”*
- 在“<及“>;”可以在1到4个空格之间李>
以下是文本段落的示例:
<<<&书信电报;06 76>&燃气轮机; Lorem ipsum dolor sit amet,是一位杰出的献身者。不要坐在阿梅特·莫里斯·洛伦旁边。这是一个很好的例子。维尼那提维尼阿莫斯大教堂(Vivamus venenatis diam sit amet Element um sollicitudin)。库拉比图尔尼布斯泰勒斯酒店。前庭前置器直径。这是一个很好的例子,它是一个很好的例子。这是一个很好的例子。整型达比布斯,奥迪奥·阿朗库斯·波特托尔,舌苔,在塞姆佩尔·麦格纳·阿库·阿莫里斯(semper magna arcu a mauris)。伏隔前庭。库拉比图尔是一个莫利斯人,一个乌兰科人。Donec urna nibh,前庭和孕期,posuere id Elite。这是一只大羚羊。 <&书信电报;06 76>&燃气轮机&燃气轮机&燃气轮机
<<<&书信电报;12 23>&燃气轮机; Morbi aliquet调味品tempus。金丝雀花。文胸文胸。我是马克西姆斯·多洛。潜力悬钩子。塞德奎斯猫。塞德·马格纳·莫里斯,马蒂斯·非密苏里,莫利斯·波苏尔·马萨。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。智者名言(Suspendisse dictum sapien bibendum ultricies)。埃吉斯塔斯悬钩子、舌苔、流苏。纳拉姆和奥迪奥精英。佩伦茨克(Nullam Pellentsque nunc tellus),法雷特拉(vitae pharetra lorem congue id)。 <&书信电报;12 23>&燃气轮机&燃气轮机&燃气轮机
再次为这篇冗长的文章和最后一分钟的编辑道歉
# 1 楼答案
你可以用
<
逐字匹配(?:\s{1,5}<)*
重复0+次匹配1-5个空格字符,后跟<
\s*
匹配可选的空白字符(?:\d+\s*)+
匹配1+次匹配1+位和可选空白字符>
逐字匹配(?:\s{1,5}>)+
重复0+次匹配1-5个空格字符,后跟>
Regex demoJava demo
注意
\s
也可以匹配换行符。在Java中,您还可以使用\h{1,5}
来匹配水平空白字符Java中的示例:
输出
编辑
段落开头的模式
Regex demo
段落结尾的模式
Regex demo
例如,如果希望获取段落内容,可以使用捕获组
Regex demo
# 2 楼答案
像这样的