QLineEdit正则表达式文件名
时间: 2023-06-29 12:13:37 浏览: 146
可以使用以下正则表达式匹配文件名:
```
^[^\\/?%*:|"<>\.]+\.[^\\/?%*:|"<>\.]+$
```
该正则表达式匹配不包含以下特殊字符的文件名:
- 反斜杠 \
- 正斜杠 /
- 问号 ?
- 百分号 %
- 冒号 :
- 星号 *
- 竖线 |
- 双引号 "
- 尖括号 <>
- 句号 .
同时,该正则表达式要求文件名包含一个点来分隔文件名和扩展名。
相关问题
QLineEdit正则表达式文件名,请写出测试代码
好的,以下是一个使用QLineEdit和正则表达式限制文件名输入的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout
from PyQt5.QtGui import QRegExpValidator
from PyQt5.QtCore import QRegExp
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('File Name Test')
self.setGeometry(300, 300, 250, 100)
layout = QVBoxLayout()
label = QLabel('Enter a file name:')
layout.addWidget(label)
line_edit = QLineEdit()
layout.addWidget(line_edit)
# 设置正则表达式限制文件名输入
reg_exp = QRegExp('[^\\\\/:*?"<>|\r\n]+$') # 不包含指定字符的文件名
validator = QRegExpValidator(reg_exp, line_edit)
line_edit.setValidator(validator)
self.setLayout(layout)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
sys.exit(app.exec_())
```
该代码使用了QLineEdit和QRegExpValidator来实现对文件名的限制,只允许输入不包含反斜杠、冒号、星号、问号、双引号、尖括号、竖线和换行符的文件名。
QLineEdit正则表达式限制输入数字范围为 0.00-1200
你可以使用QLineEdit的setValidator方法和QRegExpValidator类来限制输入数字范围为0.00-1200,代码如下:
```python
from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget, QVBoxLayout
from PyQt5.QtGui import QRegExpValidator, QRegExp
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
line_edit = QLineEdit()
regex = QRegExp("[0-9]{0,4}\.[0-9]{0,2}")
validator = QRegExpValidator(regex)
line_edit.setValidator(validator)
layout.addWidget(line_edit)
window.setLayout(layout)
window.show()
app.exec()
```
在上述代码中,我们创建了一个QLineEdit对象,并使用QRegExpValidator来限制输入数字范围为0.00-1200。我们使用正则表达式"[0-9]{0,4}\.[0-9]{0,2}"来匹配0.00-1200之间的数字,其中[0-9]{0,4}匹配整数部分,\表示转义字符,.表示匹配小数点,[0-9]{0,2}匹配小数部分,{0,2}表示小数部分最多只能有两位。最后将QLineEdit添加到布局中,并显示在窗口中。运行程序后,就可以在QLineEdit中输入0.00-1200之间的数字。
阅读全文