在网上搜索了一周,尝试了不同的方法后,我放弃了。我在Java中遇到了一个RegEx的问题,我想知道我是否可以在这里找到一些帮助。
我试图在一个巨大的字符串中找到这个"< < < < 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个随机数字+一些空格+两个"〉〉"。
- “〈”和“〉”之间的空格可以在1到4个之间。
段末:两个"〈〈"+一些空格+2个随机数字+一些空格+2个随机数字+一些空格+四个"〉〉〉〉"。
- “〈”和“〉”之间的空格可以在1到4个之间。
下面是一个文本段落的例子:
〈〈〈〈06 76〉〉Lorem ipsum dolor sit amet,consectetur adipiscing elit.Donec sit amet mauris lorem.[咒语]Vivamus venenatis diam is sollicitudin.治疗不需要最终结果。前庭放置原直径我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,活得有功效,或无所见,有所见。他的一切都是空的。整只手,一只手,一只手,一只手,一只手,一只手。伏隔前庭一个柔软的心,一个柔软的心。怀孕前的前庭,可能是子宫。先吃点鲱鱼。〈〈06 76〉〉〉〉
〈〈〈〈12 23〉〉Morbi aliquet condimentum tempus.这是一个湖。[医]前庭白藜芦醇极度痛苦。悬念潜能他是猫。我是大个子,我不是小个子,我是大个子。我们的社会和法律对人类的影响是不言而喻的。悬案。[咒语][咒语]Nullam et odio elit.我不知道你现在是什么样子,你的生活也是一样的。〈〈12 23〉〉〉〉
再一次,很抱歉长的帖子和许多最后一分钟的编辑。
2条答案
按热度按时间3pvhb19x1#
像这样的吗
py49o6xq2#
你可以用
<
按字面匹配(?:\s{1,5}<)*
重复0+次匹配1-5个空格字符,后跟<
\s*
匹配可选空格字符(?:\d+\s*)+
匹配1+次匹配1+位数和可选空格字符>
按字面匹配(?:\s{1,5}>)+
重复0+次匹配1-5个空格字符,后跟>
Regex demo|Java demo
请注意,
\s
也可以匹配换行符。在Java中,您也可以使用\h{1,5}
来匹配水平空格字符。Java中的例子:
输出
编辑
段落开头的模式
Regex demo
段落结尾的模式
Regex demo
例如,如果你想获取段落的内容,你可以使用一个捕获组。
Regex demo