以正则表达式匹配 前面是供货单位:或者供货单位: ,后面是购进日期,并且不包含数字的 一段话
时间: 2024-02-21 08:56:55 浏览: 17
以下是匹配的正则表达式:
```
/(供货单位:|供货单位:)\s*([^0-9]*?)购进日期/
```
解释:
- `(供货单位:|供货单位:)` 匹配 "供货单位:" 或 "供货单位:"。
- `\s*` 匹配零个或多个空格或制表符。
- `([^0-9]*?)` 匹配零个或多个非数字字符,并将其作为第二个捕获组。
- `购进日期` 匹配 "购进日期"。
示例代码:
```python
import re
text = "供货单位: 浙江上药新欣医药有限公司,购进日期"
pattern = r'(供货单位:|供货单位:)\s*([^0-9]*?)购进日期'
match = re.search(pattern, text)
if match:
print(match.group(2))
```
输出:
```
浙江上药新欣医药有限公司,
```
注意:这个正则表达式无法排除包含数字的情况,比如 "供货单位: 浙江上药新欣医药有限公司1,购进日期" 会匹配到 "浙江上药新欣医药有限公司1,"。如果需要排除这种情况,可以考虑使用负向零宽断言,但需要确定具体的非数字字符类型。
相关问题
用正则表达式 在下面这段话中(供货单位: 浙江上药新欣医药有限公司1购进日期) 匹配到 浙江上药新欣医药有限公司
以下是匹配的正则表达式:
```
/供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期/
```
解释:
- `供货单位:` 匹配 "供货单位:"。
- `\s*` 匹配零个或多个空格或制表符。
- `([\u4e00-\u9fa5]+)` 匹配一个或多个中文字符,并将其作为第一个捕获组。
- `\d+` 匹配一个或多个数字。
- `购进日期` 匹配 "购进日期"。
示例代码:
```python
import re
text = "供货单位: 浙江上药新欣医药有限公司1购进日期"
pattern = r'供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期'
match = re.search(pattern, text)
if match:
print(match.group(1))
```
输出:
```
浙江上药新欣医药有限公司
```
用正则表达式 在下面这段话中(供货单位: 浙江上药新欣医药有限公司 1购进日期:) 匹配到 浙江上药新欣医药有限公司 1
以下是匹配的正则表达式:
```
/(供货单位:\s*)([\u4e00-\u9fa5]+)\s*(\d+购进日期:)/
```
解释:
- `(供货单位:\s*)` 匹配 "供货单位:" 后面的空格或制表符(`\s*`),并将其作为第一个捕获组。
- `([\u4e00-\u9fa5]+)` 匹配一个或多个中文字符,并将其作为第二个捕获组。
- `\s*` 匹配零个或多个空格或制表符。
- `(\d+购进日期:)` 匹配一个或多个数字(`\d+`),紧接着是 "购进日期:",并将其作为第三个捕获组。
示例代码:
```python
import re
text = "供货单位: 浙江上药新欣医药有限公司 1购进日期:"
pattern = r'(供货单位:\s*)([\u4e00-\u9fa5]+)\s*(\d+购进日期:)'
match = re.search(pattern, text)
if match:
print(match.group(2) + ' ' + match.group(3))
```
输出:
```
浙江上药新欣医药有限公司 1
```