濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 批處理 正則表達(dá)式(findstr) 整理

批處理 正則表達(dá)式(findstr) 整理

熱門(mén)標(biāo)簽:用電話(huà)機(jī)器人取代人工 95專(zhuān)業(yè)外呼線(xiàn)路是怎么回事 浙江語(yǔ)音外呼系統(tǒng)招商 四川防封電銷(xiāo)卡套餐 外呼獲客系統(tǒng) 沈陽(yáng)電銷(xiāo) 谷歌地圖標(biāo)注錯(cuò)位 無(wú)錫極信防封電銷(xiāo)卡價(jià)格 aa專(zhuān)業(yè)電話(huà)外呼系統(tǒng)

語(yǔ)法

findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:File] [/f:File] [/c:String] [/d:DirList] [/a:ColorAttribute] [Strings] [[Drive:][Path] FileName [...]]

參數(shù)

/b
如果位于行的開(kāi)頭則匹配模式。

/e
如果位于行的末尾則匹配模式。

/l
逐字地搜索字符串。

/r
使用搜索串作為正則表達(dá)式。Findstr 將所有元字符解釋為正則表達(dá)式,除非使用了 /l。

/s
在當(dāng)前目錄和所有子目錄中搜索匹配的文件。

/i
指定搜索不區(qū)分大小寫(xiě)。

/x
打印完全匹配的行。

/v
僅打印不包含匹配的行。

/n
在每個(gè)匹配的行之前打印行號(hào)。

/m
如果文件包含匹配項(xiàng),則僅打印該文件名。

/o
在每個(gè)匹配行之前打印查找偏移量。

/p
跳過(guò)包含非可打印字符的文件。

/offline
利用脫機(jī)屬性設(shè)置處理文件。

/f:File
從指定文件中讀取文件列表。

/c:String
使用指定的文本作為文字搜索字符串。

/g:File
從指定文件得到搜索字符串。

/d:DirList
搜索以逗號(hào)分隔的目錄列表。

/a:ColorAttribute
使用兩個(gè)十六進(jìn)制數(shù)指定顏色屬性。

Strings
指定要在 FileName 中搜索的文本。

[ Drive:][Path] FileName [...]

指定要搜索的文件。

/?
在命令提示符下顯示幫助。

注釋

• 使用 Strings 和 [Drive:][Path] FileName [...]
在命令字符串中,所有 findstr 命令行選項(xiàng)必須在 Strings 和 [Drive:][Path] FileName [...] 之前。

在 findstr 中使用正則表達(dá)式

Findstr 可以在任何 ASCII 文件或文件中精確查找所要查找的文本。然而,有時(shí)要匹配的信息只有一部分或要查找更寬廣的信息范圍。在這種情況下,findstr 具有使用正則表達(dá)式搜索各種文本的強(qiáng)大功能。

正則表達(dá)式是用于指定文本類(lèi)型的符號(hào),與精確的字符串相反。標(biāo)記使用文字字符和元字符。每個(gè)在常規(guī)的表達(dá)式語(yǔ)法中沒(méi)有特殊意義的字符都是文字字符,與出現(xiàn)的該字符匹配。例如,字母和數(shù)字是文字符號(hào)。元字符是在正則表達(dá)式語(yǔ)法中具有特殊意義(操作符或分隔符)的符號(hào)。

下表列出 findstr 接受的元字符。

字符 值

.
通配符:任何字符

*
重復(fù):以前零次或多次出現(xiàn)的字符或類(lèi)

^
行中的位置:行首

$
行中的位置:行尾

[class]
字符類(lèi):集中的任何一個(gè)字符

[^class]
反向類(lèi):非集中的任何一個(gè)字符

[X-y]
范圍:指定范圍內(nèi)的任何字符

\X
轉(zhuǎn)義:元字符 X 的文字用途

\ 字的位置:字首

xyz\&;
字的位置:字尾

組合使用正則表達(dá)式語(yǔ)法的特殊字符功能十分強(qiáng)大。例如,下面的通配符 (.) 和重復(fù)符 (*) 的組合可以匹配任何字符串:

.*

將如下表達(dá)式用作匹配以“b”開(kāi)頭并以“ing”結(jié)尾的任意字符串的更大表達(dá)式的組成部分:

b.*ing

示例

使用空格分隔多個(gè)搜索字符串,除非參數(shù)以 /c 為前綴。要在文件 x.y 中搜索“hello”或“there”,請(qǐng)鍵入:

findstr "hello there" x.y

要在文件 x.y 中搜索“hello there”,請(qǐng)鍵入:

findstr /c:"hello there" x.y

若要查找文件 Proposal.txt 中出現(xiàn)的所有單詞“Windows”(首字母 W 大寫(xiě)),請(qǐng)鍵入:

findstr Windows proposal.txt

若要搜索包含單詞 Windows 的當(dāng)前目錄和所有子目錄中的每個(gè)文件(不考慮字母大小寫(xiě)),請(qǐng)鍵入:

findstr /s /i Windows *.*

要查找包含字“FOR”的所有行(前面可有任意空格,如:計(jì)算機(jī)程序中的循環(huán)),并包括每次出現(xiàn)的行號(hào),請(qǐng)鍵入:

findstr /b /n /c:"*FOR" *.bas

如 果要在相同組文件中搜索幾個(gè)不同項(xiàng)目,請(qǐng)?jiān)谛滦猩蟿?chuàng)建包含每個(gè)搜索標(biāo)準(zhǔn)的文本文件。也可以列出要在文本文件中搜索的確切文件。要使用文件 Finddata.txt 中的搜索標(biāo)準(zhǔn)來(lái)搜索 Filelist.txt 中列出的文件,然后將結(jié)果保存到文件 Results.out 中,請(qǐng)鍵入:

findstr /g:finddata.txt /f:filelist.txt > results.out

假設(shè)您想要查找當(dāng)前目錄和所有子目錄中包含單詞“computer”的每個(gè)文件,而不考慮字母的大小寫(xiě)。若要列出包含單詞“computer”的所有文件,請(qǐng)鍵入:

findstr /s /i /m "\" *.*

現(xiàn)在假定不僅需要查找單詞“computer”,而且需要查找以字母“comp”開(kāi)頭的所有其他單詞,例如“compliment”和“compete”。請(qǐng)鍵入:

findstr /s /i /m "\

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/2b01d7f5-ab5a-407f-b5ec-f46248289db9.mspx?mfr=true

實(shí)例:

1.findstr . 2.txt 或 findstr "." 2.txt
從文件2.txt中查找任意字符,不包括空字符或空行
====================

2.findstr .* 2.txt 或 findstr ".*" 2.txt
從文件2.txt中查找任意字符包括空行和空字符
====================

3.findstr "[0-9]" 2.txt
從文件2.txt中查找包括數(shù)字0-9的字符串或行
====================

4.findstr "[a-zA-Z]" 2.txt
從文件2.txt中查找包括任意字符的字符串或行
====================

5.findstr "[abcezy]" 2.txt
從文件2.txt中查找包括a b c e z y字母的字符串或行
====================

6.findstr "[a-fl-z]" 2.txt
從文件2.txt中查找小寫(xiě)字符a-f l-z的字符串,但不包含g h I j k這幾個(gè)字母。
====================

7.findstr "M[abc][hig]Y" 2.txt
從文件2.txt中可以匹配 MahY , MbiY, MahY等…..
====================

8. ^和$符號(hào)的應(yīng)用
^ 表示行首,"^step"僅匹配 "step hello world"中的第一個(gè)單詞
$ 表示行尾,"step$"僅匹配 "hello world step"中最后一個(gè)單詞
====================

9.finstr "[^0-9]" 2.txt
如果是純數(shù)字的字符串或者行便過(guò)濾掉,例如2323423423 這樣的字符串,如果是345hh888這樣的形式就不成了。
====================

10.findstr "[^a-z]" 2.txt
同上,如果是純字母的字符串或者行便過(guò)濾掉,例如 sdlfjlkjlksjdklfjlskdf這樣的字符,如果是sdfksjdkf99999這樣的形式,摻雜著數(shù)字就不成了
====================

11.*號(hào)的作用
前面已經(jīng)說(shuō)過(guò)了 ".*"表示搜索的條件是任意字符,*號(hào)在正則表達(dá)式中的作用不是任何字符,而是表示左側(cè)字符或者表達(dá)式的重復(fù)次數(shù),*號(hào)表示重復(fù)的次數(shù)為零次或者多次。
====================

12.findstr "^[0-9]*$" 2.txt
這個(gè)是匹配找到的純數(shù)字,例如 234234234234,如果是2133234kkjl234就被過(guò)濾掉了。
Findstr "^[a-z]*$" 2.txt
這個(gè)是匹配找到的純字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被過(guò)濾掉了
如 果在搜索條件里沒(méi)有*號(hào),也就是說(shuō)不重復(fù)左側(cè)的搜索條件,也就是[0-9] [a-z]那只能匹配字符串的第一個(gè)字符也只有這一個(gè)字符,因?yàn)橛行惺缀托形驳南拗疲?^[0-9]$"第一個(gè)字符如果是數(shù)字就匹配,如果不是就過(guò)濾掉, 如果字符串是 9 就匹配,如果是98或者9j之類(lèi)的就不可以了。
=====================

13. "\…\&;"這個(gè)表達(dá)式的作用
這個(gè)表示精確查找一個(gè)字符串,\sss 表示字的開(kāi)始位置,sss\&;表示字的結(jié)束位置
echo hello world computer|findstr "\computer\&;"這樣的形式
echo hello worldcomputer|findstr "\computer\&;" 這樣的形式就不成了,他要找的是 "computer"這個(gè)字符串,所以不可以。
echo hello worldcomputer|findstr ".*computer\&;"這樣就可以匹配了
=====================

到此這篇關(guān)于批處理 正則表達(dá)式(findstr) 整理的文章就介紹到這了,更多相關(guān)批處理 正則表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 批處理FINDSTR正則表達(dá)式用法實(shí)例分析

標(biāo)簽:迪慶 常德 興安盟 廣安 連云港 青島 南平 煙臺(tái)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批處理 正則表達(dá)式(findstr) 整理》,本文關(guān)鍵詞  批處理,正則,表達(dá)式,findstr,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《批處理 正則表達(dá)式(findstr) 整理》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于批處理 正則表達(dá)式(findstr) 整理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    奉贤区| 旬阳县| 临武县| 聊城市| 府谷县| 沂南县| 岳普湖县| 南投市| 同仁县| 建水县| 儋州市| 连江县| 安顺市| 南靖县| 兴文县| 平山县| 定边县| 沙湾县| 兴业县| 疏勒县| 金平| 安徽省| 德江县| 土默特右旗| 谷城县| 普安县| 巴里| 顺平县| 友谊县| 襄樊市| 嫩江县| 尚义县| 灵寿县| 青海省| 临桂县| 上犹县| 荔浦县| 山丹县| 石屏县| 广东省| 灌阳县|