-1

我想使用正则表达式在下面更改它

<script type="text/javascript" language="javascript" src="/Common/Scripts/UserControls/Form.js"></script>

<script type="text/javascript" language="javascript" src="<%=VirtualPathUtility.ToAbsolute("~/Common/Scripts/UserControls/Form.js")%>></script>
4

1 回答 1

0

您可以尝试以下方法:

寻找:

\<script type\=\"text\/javascript\" language\=\"javascript\" src="{[^"]+}"\>\<\/script\>

代替:

<script type="text/javascript" language="javascript" src="<%=VirtualPathUtility.ToAbsolute("~\1")%>></script>

需要注意的关键事项:

  • 您可以将替换部分中使用的表达式与大括号匹配{}。我[^"]+用来捕获引号之间的所有字符-[]匹配一组字符,其中^表示“不”-因此[^"]匹配引号之外的任何字符。然后+表示匹配一个或多个(非引号字符)。
  • 有些字符有特殊含义,所以你可以用\. 如果你在他们面前放了一个多余的东西,你可以安全地逃避大多数没有意义的角色\,所以我为了安全而过分热心。
  • 使用\1, \2,\3等在替换表达式中使用捕获的组。所以我\1用来引用src查找中匹配的属性值。
于 2013-01-08T19:37:45.840 回答