python - 需要逗号的正则表达式,后跟空格,然后是州缩写
问题描述
我对正则表达式很陌生,我正在尝试查找以下任何实例:
", FL,"
" FL "
" FL,"
", FL "
其中 FL 可以是任何美国州的缩写,大写或小写。(我知道上面的一些可能重叠。)这导致我的问题的第二部分:我如何编写搜索所有上述内容以及每个美国州缩写的正则表达式代码?(为什么要求我将问题编辑得更具体?当两个帖子彼此非常相关时,发布两个帖子有什么意义?如果愿意,您可以回答一个或两个问题。@The Fourth Bird)
解决方案
检查这个表达式:
(?<!\w)(?:,\s+)?(?:A[LKZR]|C[AOT]|DE|FL|GA|HI|I[ADLN]|K[SY]|LA|M[EDAINSOT]|N[EVHJMYCD]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY]),?\s?(?!\w)
这个表达式比较长,我分部分解释:
(?<!\w) # Make sure state not preceeded by text
(?:,\s+)? # Optionally match if followed by a , and several whitespace
(?:A[LKZR] # Start matching every combination of US state. Use -i flag to ignore case.
|
C[AOT] # E.g. this will match CA/CO/CT
| # or
DE # DE
| # or
FL # etc...
|
GA
|
HI
|
I[ADLN]
|
K[SY]
|
LA
|
M[EDAINSOT]
|
N[EVHJMYCD]
|
O[HKR]
|
PA
|
RI
|
S[CD]
|
T[NX]
|
UT
|
V[AT]
|
W[AIVY])
,? # Match if , at the end
\s? # Match if whitespace at the end (was in your examples)
(?!\w) # Make sure state is not succeeded by letters
不要忘记设置-i标志,它将忽略字母大小写。
推荐阅读
- javascript - 在 ES6 类中明确定义的未定义函数
- javascript - Spotify API,无法正确链接两个 API 调用
- python - 字典键列表返回太慢?
- r - locf 和 nocb 函数
- python - Python 3:属性错误:对象不可调用
- python - 如何使用 Python 将 POS 标记的句子写入文本文件
- javascript - 单击表单上的提交后如何刷新/重新访问页面?
- python - python无法识别导入pyserial / serial,但已经安装了依赖项[Mac]
- mysql - 我一直收到一个错误,在 on 子句中显示未知列 film_category.category_id
- python - 如何将 Keras 变分自动编码器示例与文本数据一起使用