繁体   English   中英

正则表达式匹配除Python中的空格外

[英]Regex matching except whitespace in Python

我希望匹配一个白色空格,然后在Python的一行开头除了空格[即字母,标点符号]之外的任何东西。 例如:

 ` a`  = True
 ` .` = True
 `  a`  = False    [double whitespace]
 `ab` = False      [no whitespace]

除了标点符号之外,规则re.match(" \\w")有效 - 我如何包含它?

请记住以下内容:

\s\S
  • \\s是空白
  • \\S是除了空白之外的一切
import re

r = re.compile(r"(?<=^\s)[^\s]+.*")

print r.findall(" a")
print r.findall(" .")
print r.findall("  a")
print r.findall("ab")

输出:

['a']
['.']
[]
[]

正则表达式解释:

  • (?<= ^ \\ s) - 正向lookbehind,匹配字符串开头的空格
  • [^ \\ s] + - 重复一次或多次的任何非空白字符
  • 。* - 任何重复零次或多次的字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM