Python正则表达式 - 查找空间但不包括

时间:2017-09-17 19:09:47

标签: python regex

我有一个像这样的字符串

\d.+?(am|pm|\s)

每次都会有所不同,但我想要的时间总是第一个,并且总是包含字符串中的第一个数字。时间格式随am,pm,冒号,没有冒号和没有后缀而变化。

以下几乎让我在那里,但在4:15的情况下,它还包括之后的空间。我可以剥掉它,但宁愿在第一时间摆脱它。我想我需要使用+符号,但我没有得到正确的结果。

<section class="page-header">
    <div class="page-header-content">


        <div class="page-header-text-container">
            <h1>LoremIpsun<br/>Dolerea Est</h1>
            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
        </div> <!-- page-header-text-container end -->

    </div> <!-- page-header-content end --> 

</section> <!-- page-header end -->

<section class="content-image">
    <div class="top-image">

    </div>
</section>

2 个答案:

答案 0 :(得分:2)

使用re.search()函数和特定的正则表达式模式:

import re

s = 'AT 4:30am some other words maybe another time 3:20pm'
result = re.search(r'\b\d+(:\d+)?(am|pm)?\b', s).group()
print(result)

输出:

4:30am

答案 1 :(得分:1)

当前为我工作的人:

import re

regex = '4:30am some other words maybe another time 3:20pm'

string = = re.findall('\d*:\d*[p][m]|\d*:\d*[a][m]', regex)

表达本身是:

\d*:\d*[p][m]|\d*:\d*[a][m]