动态范围的python正则表达式

2024-05-19 02:50:06 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次使用Regular Expression,所以任何帮助都将不胜感激。我在从Font Awesome

['fa', 'fa-american-sign-language-interpreting']///what I want: fa-american-sign-language-interpreting
['fa', 'fa-viadeo-square']///what I want: fa-viadeo-square
['fa', 'fa-adjust']///what I want: fa-adjust

我就是这么做的:

(fa-)[a-z]+(-)?[a-z]+(-)?[a-z]+(-)?[a-z]+

我认为现在可以,但是如果超过4-,那么这行就不行了。我认为它应该更短,更有活力。有什么建议吗?你知道吗


Tags: whatlanguageawesomefaamericanfontexpressionsquare
3条回答

考虑到它的格式,第一个条目将仅为fa,而第二个条目将以fa-开头,您需要第二个条目:

(fa-[\w-]+)

Regex Demo Here

这里有一个关于Ideone的工作演示。你知道吗

import re

s = """
     ['fa', 'fa-american-sign-language-interpreting']
     ['fa', 'fa-viadeo-square']
     ['fa', 'fa-adjust']
    """

m = re.findall(r"fa-[\w-]+", s)
print(m)

# ['fa-american-sign-language-interpreting', 'fa-viadeo-square', 'fa-adjust']

接吻,使第二部分重复一次或多次。你知道吗

\bfa(?:-[a-z]+)+

DEMO

/(fa-(?:-?\w+)+)/g

演示位于http://regexr.com/3d97e

相关问题 更多 >

    热门问题