- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据以下场景选择文本。我尝试了几个正则表达式,但仍然无法使用一个正则表达式涵盖所有场景。
设置 1
<x> <y>
结果应为两组
<Name> <NewName>
结果应该是两个组
设置 2
sampletext <!PARSE<sampletext>><.value>
结果应该是两组 sampletext 和 <!PARSE
found <!PARSE<XYZ.ID>notfound>
结果应为两组
<XYZ.IDXX> notfound
结果应为两组
notFoundString <!PARSE<XYZ.IDXX>notfound>
结果应为两组
notFoundEmpty <!PARSE<XYZ.IDXX>>
结果应该是两组
设置 3
<thread.end> <thread.start>
结果应该是两组
<!MINUS <thread.end> <thread.start>> 1000
结果应该是两组 <!MINUS
thread.duration <!DIVISION <!MINUS <thread.end> <thread.start>> 1000>
结果应该是两组 thread.duration 和 <!DIVISION <!MINUS
设置 4
1234 5678
结果应为两组 1234 和 5678
add.sample.result <!ADD 1234 5678>
结果应该是两组 add.sample.result 和
我尝试过的正则表达式
<([^>]*)>|(\S+)
这在第 1 组和第 4 组中效果很好,但在第 2 组和第 3 组中,它捕获的组数超出了所需的组数。 https://regexr.com/3si0v
<(.*)>|(\S+)
这对于第 2 组和第 4 组效果很好,但在第 1 组和第 3 组中给出了错误的结果。https://regexr.com/3si12
我需要正则表达式,它可以在所有集合中给出如上所述的预期结果。
最佳答案
您可以使用
((?:<[^<>]*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>[^<>]*)*>)+)|(\S+)
请参阅regex demo
它匹配并捕获分为 2 组 (?:<[^<>]*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>[^<>]*)*>)+
或\S+
模式。
详细信息
(?:<[^<>]*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>[^<>]*)*>)+
- 匹配 1 个或多个连续出现的
<
- 一个<
[^<>]*
- 除 <
之外的 0+ 个字符和>
(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>[^<>]*)*
- 0+ 序列
<[^<>]*(?:<[^<>]*>[^<>]*)*>
- 嵌套级别 1:<[^<>]*
-<
以及 <
之外的 0+ 个字符和>
(?:<[^<>]*>[^<>]*)*
- 嵌套级别 2:0+ 序列
<
- 一个<
[^<>]*
- 除 <
之外的 0+ 个字符和>
>
- 一个>
[^<>]*
- 除 <
之外的 0+ 个字符和>
>
- 一个>
字符[^<>]*
- 除 <
之外的 0+ 个字符和>
>
- 一个>
|
- 或 \S+
- 1 个以上非空白字符。关于java - 正则表达式根据具有嵌套尖括号的尖括号选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51378111/
我遇到过如下代码: my $string = "fo2345obar"; $string =~ sg; 我不明白尖括号在这种情况下是什么意思;我之前看到的所有替换都是以下形式: $string =~
我正在尝试使用 VBA 计算特定单元格值在 Excel 电子表格中出现的次数。单元格值是一个 XML 标记,尖括号被函数解释为小于/大于。这些字符如何转义? 微软说: "您可以使用通配符、问号 (?)
这个问题在这里已经有了答案: What is the difference between parentheses, brackets and asterisks in Angular2? (3 个回
我正在阅读githab Flux Dispatcher 的源代码并找出尖括号语法: class Dispatcher { .... } 这是该语言的新功能还是像 typescript 一样的子集?这里
在类声明中,<> 尖括号和 swift 中声明的参数有什么用?就像: public class ClassName { } 最佳答案 它使类变得通用。 Swift 标准库没有很多泛型类的示例,但它有一
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: printing “” using html 如何在不调用 html 的情况下将 < 符号直接放入 html
为什么我要使用 class 语法: class nil b.foo #=> undefined method 简而言之,class 为给定对象打开一个实例类,允许为给定实例定义额外的实例方法,这些方
在类声明中,<> 尖括号和在 swift 中声明的参数有什么用?像这样: public class ClassName { } 最佳答案 它使类通用。 Swift 标准库没有很多泛型类的例子,但是它有
我正在学习Java,最近被尖括号(<>)难住了。它们到底是什么意思? public class Pool{ public interface PoolFactory{ publ
我正在学习Java,最近被尖括号(<>)难住了。它们到底是什么意思? public class Pool{ public interface PoolFactory{ publ
在“我的查询”中,其他开发人员使用 <> (angle brackets)这是什么意思? sb.append(" AND nvl(VoidFlag, 'N') <> 'Y' "); 最佳答案 <> 运
我正在使用 (Win 10) 捷克语键盘布局 (CES/CS),通常我能够通过右 alt (AltGR + 的组合来编写尖括号“>”。 ) 但现在 Visual Studio 2015 Communi
这个问题在这里已经有了答案: 13年前关闭。 Duplicate: ASP.NET "special" tags 我使用 PHP,它使用 或 作为服务器标签,但是ASP.NET的中的含义和用法是什么?
我是一名优秀的程序员,十分优秀!