![]() |
1
1
根据经验,特异性与正则表达式的效率呈正相关。 所以 了解你的数据 然后做一些与之匹配的手术。 你构建的正则表达式越具体,比如逐字写下模式(通常以一个奇怪的正则表达式结束),它所需的资源就越少,因为它在你的数据中能够匹配的“可能性”就越少。 更准确地说,假设我们正在尝试匹配一个字符串
例如
使其过于开放,容易与许多不同的模式和组合相匹配,因此需要更多的时间来处理其无限的可能性。检查这里 https://regex101.com/r/GvmPOC/1 另一方面,你可以多花点时间构建一个更精细的表达方式,比如:
我同意,这很可怕,但要精确得多。它不会浪费你宝贵的资源去寻找不必要的东西。检查这里 https://regex101.com/r/quz7fo/1
另一件需要考虑的事情是:运营商,比如
把它带到你的现实中。。。
百万美元的问题是,我们怎样才能把你的正则表达式变成更精确的东西? 自从 标签名称长度没有限制 在XML中。。。没有办法完全具体化:(
结果是
不过变化不多。你可以试着测量一下,看看是否有任何改善。 但也许最好的方法是 不使用正则表达式 总之:( 我不知道你使用的是哪种语言,但如果处理时间变得复杂,我建议你不要使用正则表达式,尝试其他方法。 如果有可能使用 XML解析器 那就更好了。 抱歉,如果它不像你预期的那样具有决定性,但是研究它的领域同样是开放的。 |
![]() |
wonghenry · 另一个选择中的正则表达式选择 7 年前 |
![]() |
Seamus · 正则表达式以查找字符串中最后一次出现的模式 8 年前 |
|
Dzmitry · regex贪婪匹配以字符或字符串结尾[重复] 8 年前 |
![]() |
Chlodwig Radulf · Regex…尽可能少 8 年前 |
![]() |
GM. · 如果存在代码,则使用regex获取文本 9 年前 |
![]() |
Savan Patel · 查找reg ex中的特定单词和特殊字符 9 年前 |
|
linvi · Regex Or和贪婪 9 年前 |
![]() |
user2745246 · Regex以避免分隔字符串中的数据重复? 10 年前 |