如何在julia中使用python regexp模块
我想在Julia中使用python中给出的特定regexp。为此,我添加了PyCall.jl包。不幸的是,我无法将下面的python代码转换为Julia 蟒蛇: 我对朱莉娅的审判: 我得到一个错误声明:如何在julia中使用python regexp模块,python,julia,Python,Julia,我想在Julia中使用python中给出的特定regexp。为此,我添加了PyCall.jl包。不幸的是,我无法将下面的python代码转换为Julia 蟒蛇: 我对朱莉娅的审判: 我得到一个错误声明: ERROR: PyError (ccall(@pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, arg, C_NULL)) <type 'exceptions.TypeError'> TypeError('first a
ERROR: PyError (ccall(@pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, arg, C_NULL)) <type 'exceptions.TypeError'>
TypeError('first argument must be string or compiled pattern',)
ERROR:PyError(ccall(@pysym(:PyObject_调用),PyPtr,(PyPtr,PyPtr,PyPtr),o,arg,C_NULL))
TypeError('第一个参数必须是字符串或编译模式',)
您可以使用底座。@raw\u str
:
julia>使用PyCall:@pyimport
朱莉娅>@pyre
julia>regex=raw“[\w']+|[,!?;]”
“[\\w']+|[,!?;]”
julia>re.findall(regex,“你好,我是字符串!”)
6元素数组{String,1}:
“你好”
","
“我是”
“a”
“字符串”
"!"
朱莉娅>
rprefix在Julia中起什么作用?@madpysicator我猜这意味着下面的表达式将是regexp它是正则表达式的字符串宏。也许可以尝试删除它,然后传入Python期望的字符串。我怀疑它能处理Julia regex。您可能需要将反斜杠加倍。可能是“[\\w']+|[,!?;]”“
?此外,您必须在注释中为我添加标签,以便我获得有关它的通知。什么是非标准字符串文字宏?您能解释一下吗?@zwlayer我添加了一个指向非标准字符串文字宏文档的链接,但基本上raw“[\w']+|[,!?]”
是一个宏,因此这也是等效的<代码>@raw_str(“[\w']+|[,!?;]”)。如果您对这些有更多疑问,请提出新问题,干杯!
using PyCall
@pyimport re
re.findall(r"[\w']+|[.,!?;]", "Hello, I'm a string!")
ERROR: PyError (ccall(@pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, arg, C_NULL)) <type 'exceptions.TypeError'>
TypeError('first argument must be string or compiled pattern',)