ソースを参照

feat:增加正则匹配不限制位置

ChenGanBin 2 年 前
コミット
4f68f6f760
2 ファイル変更16 行追加7 行削除
  1. 1 0
      README.md
  2. 15 7
      src/main.py

+ 1 - 0
README.md

@@ -7,3 +7,4 @@
 
 开发进度
 * 2023-07-05 增加文件选择功能
+* 2023-07-06 增加正则匹配不限制位置

+ 15 - 7
src/main.py

@@ -64,17 +64,25 @@ class MyMainForm(QMainWindow, Ui_Form):
     else:
       resultKeyArray.extend(self.filter(originKeyArray, inputText))
 
-    self.resultBox.setText("\n".join(resultKeyArray))
+    self.resultBox.setText("".join(resultKeyArray))
 
   def filter(self, originArray, inputText, oldStr=None, newStr=None):
     resultArray = []
-    pattern_str = inputText
-    if oldStr is not None and newStr is not None and len(oldStr) > 0 and len(newStr) > 0:
-      pattern_str = inputText.replace(oldStr, newStr)
-    pattern = re.compile(pattern_str)
+    key_pattern = None
+    filter_pattern = None
+    if oldStr is not None and len(oldStr) > 0:
+      key_pattern = re.compile(inputText.replace("[{}]".format(oldStr), ""))
+    else:
+      key_pattern = re.compile(inputText)
+    if newStr is not None and len(newStr) > 0:
+      filter_pattern = re.compile("[{}]".format(newStr))
     for originKey in originArray:
-      if pattern.search(originKey) is not None:
-        resultArray.append(originKey)
+      if key_pattern.search(originKey) is not None:
+        if filter_pattern is not None:
+          if filter_pattern.search(originKey) is not None:
+            resultArray.append(originKey)
+        else:
+          resultArray.append(originKey)
     return resultArray
 
   def insertCategoryRegex(self):