正则表达式是根据给定的正则表达式模式匹配不同文本、单词或数字的一种形式。 OR
是一个逻辑术语,用于从多项选择中进行选择。在本教程中,我们将解释什么是Regex或logic,以及如何用JavaScript、Python、C#和Java等不同的编程语言实现Regex或logic。
Regex“OR”逻辑
如前所述,OR逻辑用于提供给定多项选择的替代。让我们从一个简单的例子开始,比如我们想要匹配下面的一个值。
Turkey England Usa Germany
如果我们想要或给定的值,它们都将与下面的句子匹配。我们将使用相同的管道、竖条或交替运算符 |
提供或逻辑如下。我们还将使用括号对OR值进行分组。
(Turkey|England|Usa|Germany)
I live in TurkeyI live in EnglandI live in UsaI live in Germany
但与下列句子不符。
I live in SpainI live in CanadaI live in ItalyI live in China

竖条或竖管符号或交替操作数
在深入到更复杂的例子之前,我们需要解释这些术语 Vertical Bar
, Pipe Symbol
和 Alternation Operand
. 实际上,它们都是指同一件事 |
和 此符号用于分隔正则表达式或值。
使用Regex或
这个例子与上一个非常相似。但我们将使用正则表达式或操作数来匹配整个句子。我们将提供句子的静态部分,然后添加可以使用多个值的OR部分。在下面的示例中,我们希望匹配所有以开头的句子 I live in
最后是土耳其,英国,美国,德国。正则表达式如下所示。
I live in (Turkey|England|Usa|Germany)

让我们来看看它们为什么匹配或不匹配。
- `我住在土耳其,因为“我住在”的部分是相同的,而“土耳其”在OR列表中。
- `我住在英格兰,因为我住在英格兰,与英格兰比赛的静态部分不匹配。
- `我住在美国,因为“我住在”部分是相同的,而“美国”在OR列表中。
- `我住在德国,因为德国和名单不符 `德国`。
- `我住在西班牙`不匹配,因为`西班牙`不匹配或列表。
- `我住在英格兰是因为“我住在”的部分是相同的,而“英格兰”在OR列表中。
- `我住在意大利`不匹配,因为`意大利`不匹配或列表。
- `我住在土耳其Country,因为它不在正则表达式中。
相关文章: 带示例的终极Sed教程
限制正则表达式或带行尾
正则表达式只针对提供的正则表达式,不检查前面或后面的字符。如果我们想限制正则表达式的结尾,并确保行的结尾,我们可以添加 $
在正则表达式的末尾。我们将使用以下正则表达式。
I live in (Turkey|England|Usa|Germany)$

将多个IP地址与Regex或
为了匹配多个IP地址,Regex或非常有用。我们将使用以下正则表达式,它将匹配以1或254结尾的IP地址 $
为了防止匹配IP地址 12
19
等。
IP Address is d{1,3}.d{1,3}.d{1,3}.(1|254)$

将多个URL与Regex或
regex或的另一个有用用法是匹配多个网站域名或url。在下面的示例中,我们将匹配 poftut.com
和 siberhavadis.com
.
I love (poftut|www.poftut|siberhavadis|www.siberhavadis).com
