正则表达式校验括号是否匹配正确
时间: 2023-05-27 20:07:16 浏览: 85
以下是一个简单的正则表达式,用于检查括号是否匹配:
```python
import re
def check_parenthesis(string):
pattern = r'(\()|(\))'
stack = []
for match in re.finditer(pattern, string):
if match.group(1):
stack.append('(')
elif match.group(2):
if not stack:
return False
else:
stack.pop()
return not stack
print(check_parenthesis('()')) # True
print(check_parenthesis('(())')) # True
print(check_parenthesis('()()')) # True
print(check_parenthesis('((())')) # False
print(check_parenthesis('())(')) # False
```
该正则表达式匹配左括号和右括号。在检测到左括号时,将其添加到堆栈中。在检测到右括号时,如果堆栈为空,则表示括号不匹配。否则,弹出堆栈中的左括号。如果堆栈为空,则表示所有括号都已匹配。
相关问题
正则表达式校验百分比
正则表达式校验百分比的方法如下:
可以使用以下正则表达式来校验一个字符串是否为百分比格式的数据:^[1-9][0-9]?(\.[0-9]{1,2})?%$
解释一下这个正则表达式:
^:匹配输入字符串的开始位置
[1-9][0-9]?:匹配百分比的整数部分。第一个数字必须在1-9之间,第二个数字是可选的。
(\.[0-9]{1,2})?:匹配小数部分。用圆括号将其分组,表示小数部分是可选的。\. 表示匹配小数点,[0-9]{1,2}表示匹配一到两位数字。
%:匹配百分号
$:匹配输入字符串的结束位置
如果需要校验是否为整数百分比,则可以使用以下正则表达式:^[1-9][0-9]?%$
正则表达式 校验 是否存在引号
可以使用下面这个正则表达式来判断一个字符串里是否存在引号:
```
["']
```
其中,方括号内的字符集合表示匹配单引号或双引号中的任意一个字符。如果字符串中存在单引号或双引号,那么这个正则表达式就会匹配到这个字符。如果没有匹配到,则说明字符串中不存在引号。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)