首先,这是 Java 代码,但我想它可以很容易地适应其他正则表达式引擎/编程语言。
因此,据我了解,您需要一种情况,即给定输入的一部分<p>
以某些目标内容/短语开头并紧随其后。然后,您想<p>
用其他内容替换初始标记之后的所有内容吗?
如果这是正确的,你可以这样做:
String input; // holds your input text/html
String targetPhrase = "some specific content"; // some target content/phrase
String replacement; // holds the replacement value
Pattern p = Pattern.compile("<p[^>]*>(" + targetPhrase + ".*)$", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(input);
m.replaceFirst(replacement);
当然,正如上面评论中提到的,你真的不想对 HTML 使用正则表达式。
或者,如果您知道<p>
标签就是这样,没有属性或任何东西,您可以尝试使用子字符串。
因此,例如,如果您正在寻找"<p>some specific content"
,您可以尝试以下操作:
String input; // your input text/html
String replacement; // the replacement value(s)
int index = input.indexOf("<p>some specific content");
if (index > -1) {
String output = input.substring(0, index);
output += "<p>" + replacement;
// now output holds your modified text/html
}