Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用نيك;单独使用,而不是与الهندسةالميكانيكية;_Python_Regex - Fatal编程技术网

Python 使用نيك;单独使用,而不是与الهندسةالميكانيكية;

Python 使用نيك;单独使用,而不是与الهندسةالميكانيكية;,python,regex,Python,Regex,我试过\bن1610;ك\b,但似乎不起作用 例如: نيك应匹配 不应匹配 如果我的理解正确,就使用str.count()模块。使用英语单词对RegExp模式进行推理对我来说是一种更直接的方法 我使用了一种模式,它将消极的先行断言与积极的先行断言相结合,以排除特定的匹配模式 您可以在下面给定的模式中将hello替换为ن1610;ك,以测试单词 import re pattern = re.compile(r""" (?=(?![\w\s]+)) # don't match next grou

我试过\bن1610;ك\b,但似乎不起作用

例如: نيك应匹配

不应匹配


如果我的理解正确,就使用str.count()模块。

使用英语单词对RegExp模式进行推理对我来说是一种更直接的方法

我使用了一种模式,它将消极的先行断言与积极的先行断言相结合,以排除特定的匹配模式

您可以在下面给定的模式中将
hello
替换为
ن1610;ك
,以测试单词

import re

pattern = re.compile(r"""
(?=(?![\w\s]+)) # don't match next group when word/space is before it
(hello[\s]?)+   # match hello with optional space repeatedly
|               # or
(hello[\s]?)+   # match hello with optional space repeatedly
(?=(?![\w\s]+)) # don't match previous group when word/space is after it
""", re.VERBOSE)
测试用例

>>> case1 = 'hello'
>>> case2 = 'hello world'
>>> case3 = 'world hello'
>>> case4 = 'ehlo world hello'
>>> case5 = 'hello hello hello'

>>> re.match(pattern, case1)
<re.Match object; span=(0, 5), match='hello'>
>>> re.match(pattern, case2)

>>> re.match(pattern, case3)

>>> re.match(pattern, case4)

>>> re.match(pattern, case5)
<re.Match object; span=(0, 17), match='hello hello hello'>
案例1='你好' >>>案例2=‘你好,世界’ >>>案例3=‘世界你好’ >>>案例4=‘ehlo世界你好’ >>>案例5=‘你好’ >>>关于匹配(模式,案例1) >>>关于匹配(模式,案例2) >>>关于匹配(模式,案例3) >>>关于匹配(模式,案例4) >>>关于匹配(模式,案例5)
你在问什么?单独使用这个词是个不好的词。我想知道如果单独使用“نيك”这个词,正则表达式将如何产生匹配结果。什么是正则表达式匹配,而不是前后组合的其他单词。查看单词边界(
\b
)和UTF-8功能(
re.U
标志)谢谢你,Oluwafemi,我认为这为我指明了正确的方向。