如何在 Python Notepad++ 脚本中将变量设置为正则表达式字符串?
How do I set a variable to a regex string in Python Script for notepad++?
我正在尝试使用正则表达式将变量 (x) 设置为文本文件中的字符串。
在我正在搜索的文件中,存在几行代码,其中一行总是票号 WS########。看起来像这样
~文件~
out.test
WS12345678
something here
pineapple joe
etc.
~代码~
def foundSomething(m):
console.write('{0}\n'.format(m.group(0), str(m.span(0))))
editor1.research('([W][S]\d\d\d\d\d\d\d\d)', foundSomething)
通过我的研究,我已经设法让上面的代码工作,当文件中存在相应的文本时,它会向控制台输出 WS12345678。
如何将 WS12345678 放入一个变量,以便我可以用相应的编号保存该文件?
编辑
为了把它放在伪代码中,我正在尝试
x = find "WS\d\d\d\d\d\d\d\d"
file.save(x)
解决方案
感谢@Kasra AD 提供的解决方案。我能够创建一个解决方法。
import re #import regular expression
test = editor1.getText() #variable = all the text in an editor window
savefilename = re.search(r"WS\d{8}",test).group(0) #setting the savefile variable
console.write(savefilename) #checking the variable
要使用 PythonScript 插件在记事本 ++ 中查找文件中的特定字符串,您可以将 1 个编辑器中的所有内容提取到一个字符串中,然后 运行 对其进行正则表达式搜索。
您需要 return 函数中的结果,然后简单地分配给一个变量:
def foundSomething(m):
return console.write('{0}\n'.format(m.group(0), str(m.span(0))))
my_var=foundSomething(input_arg)
并且为了提取您想要的字符串,您可以使用以下正则表达式:
>>> s="""out.test
... WS12345678
... something here
... pineapple joe"""
>>> import re
>>> re.search(r'WS\d{8}',s).group(0)
'WS12345678'
我正在尝试使用正则表达式将变量 (x) 设置为文本文件中的字符串。
在我正在搜索的文件中,存在几行代码,其中一行总是票号 WS########。看起来像这样
~文件~
out.test
WS12345678
something here
pineapple joe
etc.
~代码~
def foundSomething(m):
console.write('{0}\n'.format(m.group(0), str(m.span(0))))
editor1.research('([W][S]\d\d\d\d\d\d\d\d)', foundSomething)
通过我的研究,我已经设法让上面的代码工作,当文件中存在相应的文本时,它会向控制台输出 WS12345678。
如何将 WS12345678 放入一个变量,以便我可以用相应的编号保存该文件?
编辑 为了把它放在伪代码中,我正在尝试
x = find "WS\d\d\d\d\d\d\d\d"
file.save(x)
解决方案 感谢@Kasra AD 提供的解决方案。我能够创建一个解决方法。
import re #import regular expression
test = editor1.getText() #variable = all the text in an editor window
savefilename = re.search(r"WS\d{8}",test).group(0) #setting the savefile variable
console.write(savefilename) #checking the variable
要使用 PythonScript 插件在记事本 ++ 中查找文件中的特定字符串,您可以将 1 个编辑器中的所有内容提取到一个字符串中,然后 运行 对其进行正则表达式搜索。
您需要 return 函数中的结果,然后简单地分配给一个变量:
def foundSomething(m):
return console.write('{0}\n'.format(m.group(0), str(m.span(0))))
my_var=foundSomething(input_arg)
并且为了提取您想要的字符串,您可以使用以下正则表达式:
>>> s="""out.test
... WS12345678
... something here
... pineapple joe"""
>>> import re
>>> re.search(r'WS\d{8}',s).group(0)
'WS12345678'