用正则匹配单个字符的详细解析
这次给大家带来用正则匹配单个字符的详细解析,用正则匹配单个字符的注意事项有哪些,下面就是实战案例,一起来看一下。
本文实例讲述了正则表达式教程之匹配单个字符。分享给大家供大家参考,具体如下:
注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用Java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。
java测试代码:
/** * 根据正则表达式和要匹配的源文本,输出匹配结果 * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceText){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sourceText); while(matcher.find()){ System.out.println(matcher.group()); } }
一、匹配纯文本
1、只有一个匹配结果
首先来看一个简单的正则表达式,today,虽然它本身是纯文本,但它是一个正则表达式。来看一个例子:
源文本:Yesterday is history,tomorrow is a mystery, but today is a gift.
正则表达式:today
结果:Yesterday is history,tomorrow is a mystery, but 【today】 is a gift.
分析:这里使用的正则表达式是纯文本,它匹配了源文本中的today。
调用matchAndPrint方法,输出结果是:
today
2、有多个匹配结果
源文本:Yesterday is history,tomorrow is a mystery, but today is a gift.
正则表达式:is
结果:Yesterday is history,tomorrow is a mystery, but 【today】 is a gift.
分析:在源文本中,有三个is,但输出了四个is,因为history中的is也会被匹配到。
调用matchAndPrint方法,输出结果是:
is
is
is
is
3、字母大小写问题
正则表达式是区分字母大小写的,但很多正则表达式的实现中也支持不区分大小写的匹配操作。在JavaScript中,使用i标志来执行一次不区分字母大小写的匹配。在java中,如果要不区分大小写,那么在编译正则表达式时,可以指定:
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
二、匹配任意字符
前面见到的正则表达式都是静态的纯文本,它们根本体现不出正则表达式的威力。下面,来看看如何使用正则表达式来匹配不可预知的字符。
在正则表达式中,特殊字符(或字符集合)用来给出要搜索的东西。.字符(英文状态句号)可以匹配任何一个单个字符。相当于DOS中的?字符和SQL中的_(下划线)字符。如:正则表达式c.t将匹配cat、cut、cot等等。下面来看一个例子。
文本:
orders1.txt
orders2.txt
sales1.txt
salesA.txt
orders3.txt
sales2.txt
sales.txt
正则表达式:sales.
结果:
orders1.txt
orders2.txt
【sales1】.txt
【salesA】.txt
orders3.txt
【sales2】.txt
【sales.】txt
分析:正则表达式sales.将把由字符串sales和另外一个字条构成的文件名找出来,从结果可以看出,.可以匹配字母、数字以及它本身。7个文件中有4个与这个模式匹配。
如果调用matchAndPrint方法,输出结果是:
sales1
salesA
sales2
sales.
三、匹配特殊字符
.字符在正则表达式中有着特殊的含义。如果模式里需要一个.,就要想办法来告诉正则表达式你需要的是.字符本身而不是它在正则表达式中的特殊含义。为此,必须在.前面加上\字符来对它进行转义。\也是一个元字符(metacharacter,表示这个字符有特殊含义,而不是字符含义本身)。来看下面这个例子。
找出na或sa开头的文件,不管它后面跟的是一个什么数字。
文本:
sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
正则表达式:.a..txt
结果:
【sal】es.txt
【na1】.txt
【na2】.txt
【sa1】.txt
【sanatxt】.txt
分析:这个正则把na1.txt、na2.txt、sa1.txt找出来了,但是还找到了2个意料之外的结果。因为.a..txt这个正则中的.字符将与任意一个字符匹配。要想匹配.字符本身,那么需要使用\转义。把正则修改成.a.\.txt,则能够满足我们的需求。
注意:如果使用java,那么.a.\.txt这个正则表达式应该写成.a.\\.txt,因为\在java语言中也是一个转义字符。
四、总结
正则表达式通常简称为模式,它们其实是一些字符构成的字符串。这些字符可以是普通字符(纯文本)或元字符(有特殊含义的特殊字符)。这里介绍了如何使用普通字符和元字符去匹配单位字符。.可以匹配任何字符。\用来对字符进行转义。在正则表达式中,有特殊含义的字符序列总是以\字符开头。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci 用正则匹配单个字符的详细解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Gunakan fungsi Java's Character.isDigit() untuk menentukan sama ada aksara ialah aksara angka diwakili dalam bentuk kod ASCII secara dalaman dalam komputer Setiap aksara mempunyai kod ASCII yang sepadan. Antaranya, nilai kod ASCII yang sepadan dengan aksara angka 0 hingga 9 masing-masing adalah 48 hingga 57. Untuk menentukan sama ada aksara ialah nombor, anda boleh menggunakan kaedah isDigit() yang disediakan oleh kelas Aksara dalam Java. Kaedah isDigit() adalah daripada kelas Aksara

Cara menggunakan AutoCorrect untuk menaip anak panah dalam Word Salah satu cara terpantas untuk menaip anak panah dalam Word ialah menggunakan pintasan AutoCorrect yang dipratentukan. Jika anda menaip jujukan aksara tertentu, Word secara automatik menukar aksara tersebut kepada simbol anak panah. Anda boleh melukis banyak gaya anak panah yang berbeza menggunakan kaedah ini. Untuk menaip anak panah dalam Word menggunakan AutoCorrect: Gerakkan kursor anda ke lokasi dalam dokumen yang anda mahu anak panah itu muncul. Taipkan salah satu daripada gabungan aksara berikut: Jika anda tidak mahu apa yang anda taip diperbetulkan kepada simbol anak panah, tekan kekunci ruang belakang pada papan kekunci anda untuk

Superskrip ialah aksara atau aksara, sama ada huruf atau nombor, yang anda perlu tetapkan sedikit di atas baris teks biasa. Sebagai contoh, jika anda perlu menulis 1, huruf st perlu lebih tinggi sedikit daripada aksara 1. Begitu juga, subskrip ialah sekumpulan aksara atau aksara tunggal dan perlu ditetapkan lebih rendah sedikit daripada tahap teks biasa. Sebagai contoh, apabila anda menulis formula kimia, anda perlu meletakkan nombor di bawah garis biasa aksara. Tangkapan skrin berikut menunjukkan beberapa contoh pemformatan superskrip dan subskrip. Walaupun ia mungkin kelihatan seperti tugas yang sukar, menggunakan pemformatan superskrip dan subskrip pada teks anda sebenarnya agak mudah. Dalam artikel ini, kami akan menerangkan dalam beberapa langkah mudah cara memformat teks dengan mudah menggunakan superskrip atau subskrip. Harap anda seronok membaca artikel ini. Cara menggunakan superskrip dalam Excel

Papan kekunci fizikal atau angka anda menyediakan bilangan pilihan aksara yang terhad di permukaan. Walau bagaimanapun, terdapat beberapa cara untuk mengakses huruf beraksen, aksara khas dan banyak lagi pada iPhone, iPad dan Mac. Papan kekunci iOS standard memberi anda akses pantas kepada huruf besar dan huruf kecil, nombor standard, tanda baca dan aksara. Sudah tentu, terdapat banyak watak lain. Anda boleh memilih daripada huruf dengan diakritik kepada tanda soal terbalik. Anda mungkin terjumpa watak istimewa yang tersembunyi. Jika tidak, berikut ialah cara untuk mengaksesnya pada iPhone, iPad dan Mac. Cara Mengakses Aksara Lanjutan pada iPhone dan iPad Mendapatkan aksara lanjutan pada iPhone atau iPad anda adalah sangat mudah. Dalam "Maklumat", "

Memaparkan aksara Cina dengan betul dalam matplotlib adalah masalah yang sering dihadapi oleh ramai pengguna Cina. Secara lalai, matplotlib menggunakan fon Inggeris dan tidak boleh memaparkan aksara Cina dengan betul. Untuk menyelesaikan masalah ini, kita perlu menetapkan fon Cina yang betul dan menggunakannya pada matplotlib. Di bawah ialah beberapa contoh kod khusus untuk membantu anda memaparkan aksara Cina dengan betul dalam matplotlib. Pertama, kita perlu mengimport perpustakaan yang diperlukan: importmatplot

Cara menggunakan Golang untuk menentukan sama ada aksara ialah huruf Dalam Golang, menentukan sama ada aksara ialah huruf boleh dicapai dengan menggunakan fungsi IsLetter dalam pakej Unicode. Fungsi IsLetter menyemak sama ada aksara yang diberikan ialah huruf. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menulis kod untuk menentukan sama ada sesuatu aksara itu adalah huruf. Pertama, anda perlu mencipta fail Go baharu untuk menulis kod tersebut. Anda boleh menamakan fail "main.go". kod

Perwakilan aksara kekunci Enter dalam Java ialah `. Dalam Java, ` mewakili aksara baris baharu, dan apabila aksara ini ditemui, output teks akan dibalut. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan `` untuk mewakili kekunci Enter: publicclassMain{publicstaticvoidmain(String[]args){System.out.println("Ini ialah baris pertama ini

Dayakan papan kekunci sentuh dalam mod tablet Jika anda mempunyai komputer riba skrin sentuh, anda boleh menggunakan papan kekunci sentuh untuk menaip berbilang aksara khas pada Windows 11. Ini mungkin cara paling mudah untuk menambah aksara khas. Dayakan aksara khas untuk skrin sentuh pada Windows 11: Buka menu Mula dan pilih Tetapan. Apabila Tetapan dibuka, navigasi ke Masa & Bahasa > Menaip > Sentuh Papan Kekunci. Dalam menu Menaip, tandai pilihan "Tunjukkan papan kekunci sentuh apabila tiada papan kekunci tersedia". Dayakan papan kekunci sentuh tanpa mod tablet Satu lagi cara untuk mengakses papan kekunci sentuh ialah dengan memaparkannya pada bar tugas sepenuh masa. Untuk menjadikan papan kekunci sentuh boleh diakses, anda perlu memberitahu Windows 11 untuk memaparkannya. Gunakan langkah berikut: Dari menu Mula, pilih
