Python 正则表达式将值替换为匹配项(如果包含 "{! and }"



我想将属性的内容替换为与其中正则表达式匹配的内容,前提是它被"{!和 }",包括引号。

<lightning-button-menu iconname="utility:help" menualignment="right" onselect="{!c.handleMenuSelect}">
<lightning-menu-item label="Frequently Asked Questions" value="faq">
</lightning-menu-item>

OnSelect 将如下所示:

onselect={handleMenuSelect}

如果这听起来令人困惑,请告诉我,以便我澄清

s = '''
<lightning-button-menu iconname="utility:help" menualignment="right" onselect="{!c.handleMenuSelect}">
<lightning-menu-item label="Frequently Asked Questions" value="faq">
</lightning-menu-item>
'''

import re
for match in re.finditer('"{!(.*?)}"', s):
s = s[:match.start()] + '{' + match.group(1).split('.', 1)[1] + '}' + s[match.end():]
print(s)

结果:

<lightning-button-menu iconname="utility:help" menualignment="right" onselect={handleMenuSelect}>
<lightning-menu-item label="Frequently Asked Questions" value="faq">
</lightning-menu-item>

这必须帮助您:

import re
string='''
<lightning-button-menu iconname="utility:help" menualignment="right" onselect="{!c.handleMenuSelect}">
<lightning-menu-item label="Frequently Asked Questions" value="faq">
</lightning-menu-item>
'''
for f in re.finditer(r'onselect="{![S]+}"', string):
string= string[:f.start()+len('onselect"{!')]+'handleMenuSelect'+string[f.end()-len('}"'):]
print(string)

其中字符串是您的文本

相关内容

最新更新