在特定条件下用正则表达式替换文本

问题描述:

我需要正则表达式的帮助。我需要更换不具有这种结构的每一个环节:href="www.domain.com/en/"href="www.domain.com/en/"在特定条件下用正则表达式替换文本

所以,如果我有这个ref="www.domain.com/something">我想href="www.domain.com/en/something"

来代替它不能在此使用正则表达式来实现?

+1

哪种语言/正则表达式引擎? – aioobe 2012-03-22 13:19:48

+0

使用哪种语言? – shift66 2012-03-22 13:20:11

+0

如果您尝试在html中使用纯正则表达式,我不推荐**。改为使用HTML解析器。 – Kani 2012-03-22 13:27:00

只是ref="www.domain.com/en/

更换ref="www.domain.com/你甚至都不需要这样的正则表达式。

我假设你只是试图做一个搜索/替换的开发目的。如果这是生产代码,我鼓励你看看HTML解析器,比如Jsoup并做适当的解析/遍历/替换。


正如anubhava指出的那样,你可能希望避免的结果有/en/en

这可以通过正则表达式和负向预测来完成。要说“域后面没有/ en”,你可以使用domain(?!/en)

+0

会不会把'Foo'变成'Foo' – anubhava 2012-03-22 13:36:41

+0

我认为'something'可以是任何东西,包括'en'。但我会稍微更新答案。 – aioobe 2012-03-22 13:37:42