我正在使用我继承的一些非常时髦的HTML标记,我需要从大约72个td
元素中删除以下属性。
sdval="285"
我知道我可以在我的代码编辑器中使用find / replace来执行此操作,除非因为每个属性的值以5度的增量不同,所以如果没有正则表达式,我无法将它们全部匹配。 (仅供参考我使用的是Esspress,它支持RegExes的查找/替换工具)
唯一的麻烦是,我真的无法弄清楚如何为此值编写RegEx。我理解RegExes的概念,但实际上不知道如何使用它们。
那么我如何使用正则表达式代替数字来编写以下内容,以便它匹配任何三位数值?
sdval="285"
答案 0 :(得分:31)
/sdval="\d{3}"/
编辑:
要回答您的评论,正则表达式中的\d
表示match any digit
,而{n}
结构表示repeat the previous item n times.
答案 1 :(得分:12)
最简单,最便携:[0-9][0-9][0-9]
更“现代”:\d{3}
答案 2 :(得分:6)
这应该做(忽略前导零):
[1-9][0-9]{0,2}
答案 3 :(得分:1)
import re
data = "719"
data1 = "79"
# This expression will match any single, double or triple digit Number
expression = '[\d]{1,3}'
print(re.search(expression, data).string)
# This expression will match only triple digit Number
expression1 = '[\d]{3}'
print(re.search(expression1, data1).string)
输出:
表达式:719
表达式1:79
答案 4 :(得分:0)
听起来你正试图在Visual Studio中进行3位数的查找/替换(对Express和Find / Replace工具的引用)。如果是这种情况,则在Visual Studio中查找3位数字的正则表达式如下
<:d:d:d>
击穿
<
和>
建立字边界以确保我们不匹配数字子集。 :d
条目都匹配一个数字。