日期:2014-05-16  浏览次数:20320 次

急求一正則表達式,在綫等
有字串如下

----------------------p56---------------------

p56前后的 - 數目不定,p后的56也不定,可能是1-1000的任何數,p可能是大寫也可能是小寫

我想將其替換成

----p56----

請問正則該如何寫?

謝謝

------解决方案--------------------
真的没明白你的意思,是不是这样?
str = "---------------------------p56-------------------------"
if(/(-+)([pP])(\d+)(-+)/.test(str))
str.replace(/(-+)([pP])(\d+)(-+)/g,"----p56----")
------解决方案--------------------
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
  <script>
  alert("----------------------p56434--------------------------".replace(/(-+)p([0-9]+)(-+)/g,"----p$2----"));
  </script>
 </BODY>
</HTML>

------解决方案--------------------
JScript code
-+[pP]([1-9]\d{0,2}|1000)-+
替换成
----P$1----

------解决方案--------------------
alert("-P5434------".replace(/(-+)([p|P](\d+))(-+)/,"----$2----"));
------解决方案--------------------
try:
C# code
/-+p\d{1,4}-+/i