Behave 正则表达式

Behave 正则表达式

让我们对正则表达式的语法有一个整体的认识 –

  • 点 (.) – 相当于任何字符。

  • Caret (^) – 相当于字符串的开头。(^…)

  • 美元符号 () – 相当于字符串的结束。(…)

  • | – 表达式x|y,匹配x或y。

  • \ – 转移字符。

  • \.- 匹配点。(.)

  • \ – 匹配反斜杠。(\)

  • […] – 声明一组字符。([A-Za-z])

  • \d – 匹配数字。([0-9])

  • \D – 匹配非数字。

  • \s – 匹配白色空间字符。

  • \S – 匹配非空白字符。

  • \w – 匹配字母数字。

  • \W – 匹配非字母数字。

  • (…) – 组建一个正则表达式的模式。

  • \number – 按索引匹配前一组的文本。(\1)

  • (?P<name>...) – 匹配模式并将其存储在名称参数中。

  • (?P=name) – 匹配所有被前一组名称匹配的文本。

  • (?:…) – 匹配一个模式,但是不能捕获文本。

  • (?#…) – 注释(不考虑)。叙述模式的细节。

如果一个字符、字符集或组需要重复多次,必须提供正则表达式的模式的cardinality。

  • ? :心量为0的模式…1:非强制性(问号)

  • - :cardinality 0或以上的模式,0…(星号)

  • + – : 心数为1或更多的模式,1…(加号)

  • {n}:匹配一个重复的模式。

  • {a ,b}:匹配从a到b的重复模式。

  • [A-Za-z]+ : 匹配多个英文字母的字符。

在特征文件中可能有一些几乎相似的短语的步骤。Behave有解析的能力。 use_step_parser 方法用于此,我们必须将解析器类型作为参数传给该方法。

对于正则表达式匹配器,我们必须传递参数re。参数(? P<name>...)被用来从步骤定义中获取参数。

特征文件(几乎类似的步骤)

类似步骤的特征文件如下:

Feature − Payment Process
Scenario − Check Debit transactions
      Given user is on "debit" screen
   Scenario − Check Credit transactions
      Given user is on "credit" screen

相应的步骤执行文件

步骤执行文件如下—

from behave import *
#define parser type
use_step_matcher("re")
#regular expression parsing
@given('user is on "(?P<payment>.*)" screen')
def step_impl(context, payment):
   print("Screen type: ")
   print(payment)

输出

运行特征文件后得到的输出如下。这里,我们使用了 behave –no-capture -f plain .

Behave - 正则表达式

输出显示了借方和贷方。这两个值在特征文件中几乎是以类似的步骤传递的。在执行步骤中,我们用正则表达式解析了这两个步骤。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程