如何编写正则表达式以匹配任何三位数值?

时间:2010-11-24 21:06:28

标签: regex

我正在使用我继承的一些非常时髦的HTML标记,我需要从大约72个td元素中删除以下属性。

sdval="285"

我知道我可以在我的代码编辑器中使用find / replace来执行此操作,除非因为每个属性的值以5度的增量不同,所以如果没有正则表达式,我无法将它们全部匹配。 (仅供参考我使用的是Esspress,它支持RegExes的查找/替换工具)

唯一的麻烦是,我真的无法弄清楚如何为此值编写RegEx。我理解RegExes的概念,但实际上不知道如何使用它们。

那么我如何使用正则表达式代替数字来编写以下内容,以便它匹配任何三位数值?

sdval="285"

5 个答案:

答案 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条目都匹配一个数字。