Ⅰ shell 正則表達式問題
問題描述應該是這樣的:"去除多餘的雙引號,即,對多個連續的雙引號,只保留一個"。
因此,這樣就可以了:
sed-r's/"+/"/g'file.txt
正則中,+表示重復前面一個字元1次或以上(至少一次)。
當然,也可以寫為:
sed-r's/"{2,}/"/g'file.txt
{2,}表示2次或以上。這樣,出現1次的就可以不用處理。
實測結果如下:
Ⅱ 如何用正則表達式 過濾 特定內容
正則表達式:^\d+(\.\d+)?$
你可以用這個正則表達式匹配輸入的字元,如果不匹配說明是非法的字母和字元.
Ⅲ 正則表達式過濾指定位置的字元
好了,又又一次回復,不好意思,我是新手,慢慢一點一點深入
(<TD[^>]*>)[ s]*<P[^>]*>([^>]*)</P>s?(</TD>)
這正則表達式完全搞定了,用$1$2$3替換
re.Pattern="(<TD[^>]*>)[ s]*<P[^>]*>([^>]*)</P>s?(</TD>)"
Data=re.Replace(Data,"$1$2$3")
請先備份,以防意外。
=================================================================
又一次回復,嘿嘿,寫出一個,但要有條件:要刪的P標簽要和</TD>同一行,並且在前面。(只能想到這個笨方法了,靠</TD>來辨別是不是在TD里)
</?P[^>]*>(?=.*</TD>)
請先備份,否則有意外,別怪我。
========================================================
不知怎的不支持(?<=exp),有點難纏。恕小生學藝未精。
期待高手,關注中……
========================================================
處理這些固定的字元串用Replace就好了
a="<TDwidth=69rowSpan=2><Pclass=MsoNormal>日期</P></TD>"
a=Replace(Replace(a,"<Pclass=MsoNormal>",""),"</P>","")
MsgBoxa
=========如果你非要用正則表達式,也拿你沒辦法===========
a="<TDwidth=69rowSpan=2><Pclass=MsoNormal>日期</P></TD>"
Setre=CreateObject("VBScript.RegExp")
re.IgnoreCase=False'是否區分大小寫
re.Global=True'只匹配搜索到的第一個還是全部
re.Pattern="</?P[^>]*>"'定義正則表達式,不管P標簽裡面等於什麼鬼都好。
a=re.Replace(a,"")'用空字元""替換匹配到的
MsgBoxa
Ⅳ 在linux的shell語言中,怎樣用正則表達式來截取字元串
perl -le 'print $_ for split /\w=/, "a=1 b=2 c=3"'
Ⅳ 如何用正則表達式過濾除數字以外的其他字元
JAVA可以這樣寫呢回
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JavaBase {
public static void main(String[] args) {
String str = "<a href=\"../download/20080601.pdf\">download</a>";
String regEx = "[^答0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
String str1 = m.replaceAll("").trim();
System.out.println(str1);
}
}
-------------
20080601
Ⅵ shell編程怎麼抽取匹配正則表達式的字元串
a=$( expr 'helloworld20140501.txt' : '.*\([0-9]\{8\}\).*' )
echo $a
linux shell 中可以將命令的結果賦值給變數,$(命令)這種格式將返回命令執行後的結果字元串專
上面命令執行後,變屬量a的值是20140501
a=`echo 'helloworld20140501.txt'|sed 's/.*\([0-9]\{8\}\).*/\1/'`
這個命令作用也是一樣,變數a被賦值為20140501
Ⅶ 如何使用 awk 和正則表達式過濾文本或文件中的字元串
awk默認使用空格做為分隔符,可以看到,我輸出了"a b c d e" 每個字母之間都有個空格
剛好我可以利用awk默認使用空格作為分隔符這一特點來進行分割過濾
這樣過濾出來的第一列就是a,第二列就是b......以此類推。
如果有復雜的、難處理的可以繼續追問,我也很喜歡解決這些問題
Ⅷ 正則表達式\r\是什麼意思
\r--Carriage Return (回車)
Ⅸ 如何用python正則表達式去除\r和\n字元
importre
a='abcdeef '
b=re.sub(' ','',a)#直接用空字元串替代
##b為'abcdeef'
Ⅹ 正則表達式過濾特殊字元
正則表達式裡面你帶了逗號,應該這樣寫
[。~!@#$%\^\+\*&\\\/\?\|:\.<>{}()';="]
有些符號只有少數幾個符號需要轉義,而且不用打逗號,打了逗號就相當於把逗號也過濾掉了