我试图使用正则表达式删除包含3个我不认识的数字的字符串实例。
例如,如果字符串是this is an example536 string with 2 example725
,我想要" example536"和" example725"被删除。
我知道正则表达式的基础知识,以摆脱"示例"但不知道如何摆脱数字。有人可以帮忙解决这个问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
假设您的数字始终位于最后,此正则表达式应该适用于您:([^\s]+?\d{3})/g
,因为它将匹配任何非空白字符,后跟3位数字。
如果不是这种情况(你不知道字符串中的数字会出现在哪里)那么我们就会遇到一些问题,因为我们需要为所有3种可能情况定义一个模式:
这将导致创建类似的内容:(([^\s]+?\d{3}[^\s]+?)|(\d{3}[^\s]+?)|([^\s]+?\d{3}))/g
。
答案 2 :(得分:0)
对于我的确切问题,我应该将此包含在问题中,但我需要删除width="xxx"
的实例
我认为正则表达式为/width="[0-9][0-9][0-9]"/g
答案 3 :(得分:0)
从左侧和右侧
删除三位数字和非空格的所有内容echo 'this is an example536 string with 2 example725' | sed 's/[^[:space:]]*[[:digit:]]\{3\}[^[:space:]]*//g'
答案 4 :(得分:0)
如果它是PHP,则替换将执行此操作:
$s = "this is an example536 string with 2 example725"
$r = preg_replace('/\w+[\d]+ ?/', '', $s);
//outputs: this is an string with 2
匹配你想要的一般正则表达式。
/\w+[\d]+/