贪婪的Python正则表达式问题

时间:2019-03-08 17:59:32

标签: regex python-3.x regex-greedy

我正在学习在线课程,并且对正则表达式有疑问。

来自“ http://py4e-data.dr-chuck.net/known_by_Anayah.html” 我只想提取“ Anayah”

这是我的尝试:

class RentActivity : AppCompatActivity(), View.OnClickListener {
    override fun onClick(v: View?) {
        when(v?.id){
            R.id.toggleButton_monday ->{
                Toast.makeText(this, "Monday Clicked", Toast.LENGTH_LONG).show()
                return
            }
     ...

这将返回“ by_Anayah”,因此“ by_”部分会给我带来一些问题...

我知道吗?因为不贪心,但是无论我在哪里插入?,我都无法得到想要的东西。

谢谢您的帮助:)

1 个答案:

答案 0 :(得分:2)

这是因为\w也匹配_个字符。将\w替换为[^\W_],以匹配除下划线以外的所有单词字符。

使用

import re
stringToParse = "http://py4e-data.dr-chuck.net/known_by_Anayah.html, we just want Anayah"
print(re.search(r'_([^\W_]+)\.html', stringToParse).group(1))

请参见recreate the backing file systemPython demo