Python RegEx
- 上一页 Python JSON
- 下一页 Python PIP
RegEx ຫຼືຄຳສັງເກດຫຼັກແຫຼງພາສາແລະຊຸມນັບວັດຖຸເພື່ອສ້າງຄຳສັງເກດການຄົ້ນຫາ.
RegEx ສາມາດນຳໃຊ້ສະແດງຄຳສັງເກດວ່າຄຳສັງເກດຕິດຢູ່ໃນກົດໝາຍທີ່ກໍານົດມາ.
RegEx ສະມຸດ
Python ສະເໜີມາດຕະຖານຊື່ re
的内置包,可用于处理正则表达式。
导入 re
模块:
import re
Python 中的 RegEx
导入 re
模块后,就可以开始使用正则表达式了:
实例
检索字符串以查看它是否以 "China" 开头并以 "country" 结尾:
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
RegEx 函数
re
模块提供了一组函数,允许我们检索字符串以进行匹配:
ປະກອບກຳລັງ | ການອະທິບາຍ |
---|---|
findall | ກັບຄືນຄົບການຕອບທີ່ຈະກັບຄືນຄົບການຕອບທັງໝົດ |
search | ຖ້າມີຄືນຄົບຕອບທີ່ຢູ່ທີ່ບໍ່ມີບ່ອນໃດຂອງຄຳຕອບແລ້ວຈະກັບຄືນຄົບການຕອບ Match |
split | ກັບຄືນຄົບການຕອບທີ່ຈະຕັດຈາກຄຳຕອບຫລາຍຄັ້ງໃນການຕອບ |
sub | ປ່ຽນຄຳຕອບດ້ວຍຄຳຕອບມີຄຳຕອບຫລາຍຄັ້ງ |
元字符
元字符ທີ່ມີຄວາມໝາຍພິເສດ
ຄຳວັດຖຸ | ການອະທິບາຍ | ຕົວຢ່າງ | TIY |
---|---|---|---|
[] | ກຸ່ມຄຳວັດຖຸ | "[a-m]" | ການທົດສອບ |
\ | ກົດລະບຸຄຳວັດຖຸພິເສດ | "\d" | ການທົດສອບ |
. | ຄຳວັດຖຸທັງໝົດ(ບໍ່ມີຄຳວັດຖຸຍົກເລິກພາບສາຍນອກ) | "he..o" | ການທົດສອບ |
^ | ສົມທຽບທີ່ຈະສົມທຽບທີ່ຫຍັງ | "^hello" | ການທົດສອບ |
$ | ສົມທຽບທີ່ຈະສົມທຽບທີ່ສຸດ | "world$" | ການທົດສອບ |
* | ການປະກາດຫລືການປະກາດບໍ່ມີຄັ້ງ | "aix*" | ການທົດສອບ |
+ | ການປະກາດຫລືການປະກາດຫລາຍຄັ້ງ | "aix+" | ການທົດສອບ |
{} | ການສະແດງຄັນປະສົມກັບຈຳນວນການປະກາດ | "al{2}" | ການທົດສອບ |
| | ທັງສອງ | "falls|stays" | ການທົດສອບ |
() | 捕获和分组 |
特殊序列
ກົດລະບຸຂອງຄຳວັດຖຸພິເສດ \
ຕໍ່ຫລັງຄຳວັດຖຸໃນຕາມການລະບຸໃນຕາມການລະບຸທີ່ລົງມານີ້
ຄຳວັດຖຸ | ການອະທິບາຍ | ຕົວຢ່າງ | TIY |
---|---|---|---|
\A | ຖ້າຄຳສັບທີ່ກໍານົດຢູ່ທີ່ຫຍັງຂອງຄຳຕອບແລ້ວຈະກັບຄືນຄົບການຕອບ | "\AThe" | ການທົດສອບ |
\b | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບຢູ່ທີ່ຫຍັງຂອງວິທະຍາສາດຫລືທີ່ສຸດຂອງວິທະຍາສາດ |
r"\bain" r"ain\b" |
ການທົດສອບ ການທົດສອບ |
\B | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບມີຄຳວັດຖຸທີ່ຢູ່ທີ່ບໍ່ແມ່ນຫຍັງຂອງວິທະຍາສາດ |
r"\Bain" r"ain\B" |
ການທົດສອບ ການທົດສອບ |
\d | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບມີຄຳວັດຖຸໂຕກະສັດ(ຈາກ 0-9) | "\d" | ການທົດສອບ |
\D | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບບໍ່ມີຄຳວັດຖຸໂຕກະສັດ | "\D" | ການທົດສອບ |
\s | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບມີຄຳວັດຖຸອາກາດ | "\s" | ການທົດສອບ |
\S | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບບໍ່ມີຄຳວັດຖຸຂອງອາກາດ | "\S" | ການທົດສອບ |
\w | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບມີຄຳວັດຖຸວິທະຍາສາດ (ຄຳວັດຖຸຈາກ a ຫາ Z ຄຳວັດຖຸຈາກ 0 ຫາ 9 ແລະ ຄຳວັດຖຸ _ ) |
"\w" | ການທົດສອບ |
\W | ກັບຄືນຄົບການຕອບເຊິ່ງຄຳຕອບບໍ່ມີຄຳວັດຖຸຂອງວິທະຍາສາດ | "\W" | ການທົດສອບ |
\Z | ຖ້າຄຳສັບທີ່ກໍານົດຢູ່ທີ່ສຸດຂອງຄຳຕອບແລ້ວຈະກັບຄືນຄົບການຕອບ | "Spain\Z" | ການທົດສອບ |
集合(Set)
ການຈັດການຂອງກອງສັນຍາປະກອບດ້ວຍກອງສັນຍາທີ່ມີຄວາມຄິດຫນັງ []
ການຈັດການຂອງກອງສັນຍາ
ການຈັດການ | ການອະທິບາຍ | ການທົດສອບ |
---|---|---|
[arn] | ຈຳນວນທີ່ພົບບັນນາທິການທີ່ມີຈຳນວນທີ່ພົບບັນນາທິການ a, r ຫລື n | ການທົດສອບ |
[a-n] | ຈຳນວນທີ່ພົບບັນນາທິການທີ່ມີຈຳນວນທີ່ພົບບັນນາທິການ a ແລະ n | ການທົດສອບ |
[^arn] | ຈຳນວນທີ່ພົບບັນນາທິການທີ່ບໍ່ແມ່ນ a, r ຫລື n | ການທົດສອບ |
[0123] | ຈຳນວນທີ່ພົບບັນນາທິການ 0, 1, 2 ຫລື 3 | ການທົດສອບ |
[0-9] | ຈຳນວນທີ່ພົບບັນນາທິການ 0 ແລະ 9 | ການທົດສອບ |
[0-5][0-9] | ຈຳນວນທີ່ພົບບັນນາທິການ 0 ແລະ 9 | ການທົດສອບ |
[a-zA-Z] | ກັບຈຳນວນທີ່ພົບບັນນາທິການ a ແລະ z | ການທົດສອບ |
[+] | ໃນການຈັດການຂອງກອງສັນຍາ | ການທົດສອບ |
ກອງສັນຍາ findall()
findall()
ກອງສັນຍາກັບລາຍການທີ່ພົບ
实例
ການບັນທຶກລາຍການທີ່ພົບ
import re str = "China is a great country" x = re.findall("a", str) print(x)
ລາຍການນັ້ນມີຈຳນວນທີ່ພົບ
ຖ້າບໍ່ພົບກັບການກັບຄືນຫາ
实例
ຖ້າບໍ່ພົບກັບການກັບຄືນຫາ
import re str = "China is a great country" x = re.findall("USA", str) print(x)
ກອງສັນຍາ search()
search()
ກອງສັນຍາຄົ້ນຫາການກັບຄືນໃນຫົວຂໍ້
ຖ້າມີຈຳນວນຫລາຍກວ່າຄັ້ງ
实例
ການຄົ້ນຫາຈຳນວນສະຫລາກສັນຍາວັນທໍາອິດໃນຫົວຂໍ້
import re str = "China is a great country" print("The first white-space character is located in position:\
ຖ້າບໍ່ພົບກັບການກັບຄືນຫາ None
:
实例
ການຄົ້ນຫາບໍ່ກັບຄືນຄົ້ນຫາ
import re str = "China is a great country" x = re.search("USA", str) print(x)
ກອງສັນຍາ split()
split()
ກອງສັນຍາກັບການຕັດອອກພຽງຄັ້ງທີ່ພິຈາລະນາ
实例
ຕັດອອກຫົວຂໍ້ທີ່ບາງຈຳນວນສະຫລາກສັນຍາວັນ
import re str = "China is a great country" x = re.split("\s", str) print(x)
您可以通过指定 maxsplit
ມາດຕະຫລາດການຕັດອອກ
实例
ແບບການຕັດອອກພຽງຄັ້ງທຳອິດ
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
ກອງສັນຍາ sub()
sub()
ກອງສັນຍາປ່ຽນຫົວຂໍ້ທີ່ພິຈາລະນາ
实例
ນຳໃຊ້ຈຳນວນ 9 ປ່ຽນຫົວຂໍ້ບາງຈຳນວນສະຫລາກສັນຍາວັນ
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
您可以通过指定 count
参数来控制替换次数:
实例
替换前两次出现:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match 对象
Match 对象是包含有关搜索和结果信息的对象。
注释:如果没有匹配,则返回值 None
,而不是 Match 对象。
实例
执行会返回 Match 对象的搜索:
import re str = "China is a great country" x = re.search("a", str) print(x) # 将打印一个对象
Match 对象提供了用于取回有关搜索及结果信息的属性和方法:
span()
返回的元组包含了匹配的开始和结束位置.string
返回传入函数的字符串group()
返回匹配的字符串部分
实例
打印首个匹配出现的位置(开始和结束位置)。
正则表达式查找以大写 "C" 开头的任何单词:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
实例
打印传入函数的字符串:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
实例
打印匹配的字符串部分。
正则表达式查找以大写 "C" 开头的任何单词:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
注释:如果没有匹配项,则返回值 None
,而不是 Match 对象。
- 上一页 Python JSON
- 下一页 Python PIP