Regex 正则表达式条件(仅当字符串存在时)

Regex 正则表达式条件(仅当字符串存在时),regex,Regex,我正在尝试用正则表达式替换来准备一些重定向规则。。这是我的 应该改写为 到目前为止还不错。这项工作目前由以下人员完成: ([0-9]{4,7})/([a-z0-9-]+)(.*) 取而代之的是 news/$2 这在相当长一段时间内有效。不幸的是,一些新事物出现了,我需要过滤掉这些案例 不应该重写。我知道我可以用这样的方法来解决这个问题 (?!newterm/)在我的模式中,但我不确定如何在替换中执行“仅当”部分 有人能帮忙吗?谢谢 您需要在开始时锚定模式,以仅匹配输入开始时的数字: ^/?

我正在尝试用正则表达式替换来准备一些重定向规则。。这是我的

应该改写为

到目前为止还不错。这项工作目前由以下人员完成:

([0-9]{4,7})/([a-z0-9-]+)(.*)

取而代之的是

news/$2

这在相当长一段时间内有效。不幸的是,一些新事物出现了,我需要过滤掉这些案例

不应该重写。我知道我可以用这样的方法来解决这个问题

(?!newterm/)
在我的模式中,但我不确定如何在替换中执行“仅当”部分


有人能帮忙吗?谢谢

您需要在开始时锚定模式,以仅匹配输入开始时的数字:

^/?([0-9]{4,7})/([a-z0-9-]+)(.*)
^

/?
将匹配可选的
/

也许
^/?([0-9]{4,7})/([a-z0-9-]+)(.*)
?我想我已经试过了。一定是打错了。但这很有效,谢谢。