繁体   English   中英

提取特定字符之前的单词

[英]Extract the word before a specific character

 bool processdata(Message_handler_t* );

我想从这个字符串中提取变量和参数,即processdata(Message_handler_t* )我如何使用 python 和正则表达式来做到这一点。 我试过了,但它也提取了变量之前的单词

import re

txt = " bool processdata(Message_handler_t* )"

x = re.findall('\s.+\(.+\)', txt)
print(x)

正则表达式的另一种方法是使用分区方法

before_key, key, after_key = txt.partition('bool')

在这种情况下,output 将是 -

before_key=' '
after_key=' processdata(Message_handler_t* )'

显然,这里的关键是'bool'

而不是.+你可以使用更精确的东西 - 即。 [a-zA-Z]+\w+[^ ]+

import re

txt = " bool processdata(Message_handler_t* )"

x = re.findall('\w+\(.+\)', txt)
print(x)

x = re.findall('[a-zA-Z]+\(.+\)', txt)
print(x)

x = re.findall('[^ ]+\(.+\)', txt)
print(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM