【实例】python re 正则表达式 同时选择带有“是”和“的”句子

38 篇文章 0 订阅
8 篇文章 0 订阅

impor = re

>>> name = '是'and'的'
>>> text = open('E:/西方哲学史.txt','r').read()
>>> results = re.findall(r'[^。]*?{}[^。]*?。'.format(name), text)
>>> for i, r in enumerate(results, 1):

...  print(i,r)



>>> name = '是'and'的'
>>> text = open('E:/西方哲学史.txt','r').read()
>>> results = re.findall(r'[^。]*?{}[^。]*?。'.format(name), text)


>>> for i, r in enumerate(results, 1):
...  print(i,r)
...  with open('E:/a.txt','a+')as s:
...   s.write(r)


s.close()

你可以使用Python正则表达式库re来实现这个功能。以下是一个简单的脚本示例: ```python import re verilog_code = "por #(.FIFO_WIDTH(FIFO_WIDTH), .DATA_WIDTH(DATA_WIDTH)) u_fifo(.clk(clk), .reset(reset), .data_in(data_in), .data_out(data_out))" # 定义正则表达式 regex = r"\w+\s+#\(([\w,\s]+)\)\s+(\w+)\s*\(\.([\w,\s]+)\(([\w,\s]+)\)\)" # 匹配Verilog实例化代码 match = re.match(regex, verilog_code) # 输出子模块名和连接到子模块的信号 if match: parameters = match.group(1).replace(" ", "").split(",") parameter_values = {} for parameter in parameters: parameter_name, parameter_value = parameter.split("(")[1].split(")") parameter_values[parameter_name] = parameter_value fifo_name = match.group(2) port_connections = match.group(3).replace(" ", "").split(",") connection_values = {} for port_connection in port_connections: connection_name, connection_value = port_connection.split("(")[1].split(")") connection_values[connection_name] = connection_value print("子模块名:", fifo_name) print("参数:", parameter_values) print("连接到子模块的信号:", connection_values) else: print("Verilog实例化代码不匹配。") ``` 输出结果: ``` 子模块名: u_fifo 参数: {'FIFO_WIDTH': 'FIFO_WIDTH', 'DATA_WIDTH': 'DATA_WIDTH'} 连接到子模块的信号: {'clk': 'clk', 'reset': 'reset', 'data_in': 'data_in', 'data_out': 'data_out'} ``` 这个脚本可以处理多个参数和多个连接,只需在正则表达式中添加适当的组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值