我想解析一个字符串,例如:
package: name='jp.tjkapp.droid1lwp' versionCode='2' versionName='1.1'
uses-permission:'android.permission.WRITE_APN_SETTINGS'
uses-permission:'android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission:'android.permission.ACCESS_NETWORK_STATE'
我想得到:
^{pr2}$因为有多个使用权限,我想以列表形式获取权限,包含:
WRITE_APN_SETTINGS
、RECEIVE_BOOT_COMPLETED
和{
你能帮我写python正则表达式来得到我想要的字符串吗? 谢谢。在
您可以通过逐行读取文件内容而不使用regex来完成此操作。在
假设您提供的代码块是一个长字符串,存储在一个名为
input_string
的变量中:说明:
名称
(?<=name\=\')
:检查主字符串的前进,以便只返回以name='
开头的字符串。在=
和'
前面的\
用于转义它们,这样regex就知道我们在讨论=
字符串,而不是regex命令。name='
isnot当我们得到结果时,我们只知道我们得到的结果前面都有它。在[\w\.]+?
:这是我们要搜索的主字符串。\w
表示任何字母数字字符和下划线。\.
是一个转义句点,因此regex知道我们的意思是.
,而不是由未转义句点表示的regex命令。把这些放在[]
中意味着我们可以接受任何我们卡在括号里的东西,所以我们说我们接受任何字母数字字符,_
,或{+
后话意味着前一个事物中的至少一个,意思是至少一个(但可能更多)的{?
意味着不要贪心我们告诉regex获得满足这些规范的尽可能小的组,因为+
可以无限重复[\w\.]
匹配的任何内容。在(?=\')
:检查主字符串后面的以便只返回后跟'
的字符串。\
也是一个转义,因为否则regex或Python的字符串执行可能会误解'
。最后一个'
是不是与我们的结果一起返回的,我们只知道在原始字符串中,它跟在我们最终得到的任何结果之后。在下面是一个示例代码
在测试.txt文件包含您前面提到的输入数据。。在
相关问题 更多 >
编程相关推荐