📜  CoffeeScript-正则表达式

📅  最后修改于: 2020-10-26 05:51:09             🧑  作者: Mango


正则表达式是一个对象,它描述JavaScript支持的字符模式。在JavaScript中,RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式对文本执行强大的模式匹配和搜索替换功能的方法。

CoffeeScript中的正则表达式

CoffeeScript中的正则表达式与JavaScript相同。访问以下链接以查看JavaScript中的正则表达式-javascript_regular_expressions

句法

通过将RegExp模式放置在正斜杠之间来定义CoffeeScript中的正则表达式,如下所示。

pattern =/pattern/

以下是CoffeeScript中的正则表达式示例。在这里,我们创建了一个表达式,该表达式找出粗体的数据(标记之间的数据)。将此代码保存在名称为regex_example.coffee的文件中

input_data ="hello how are you welcome to Tutorials Point."
regex = /(.*)/
result = regex.exec(input_data)
console.log result

打开命令提示符并编译.coffee文件,如下所示。

c:\> coffee -c regex_example.coffee

编译时,它将为您提供以下JavaScript。

// Generated by CoffeeScript 1.10.0
(function() {
  var input_data, regex, result;

  input_data = "hello how are you welcome to Tutorials Point.";

  regex = /(.*)/;

  result = regex.exec(input_data);

  console.log(result);

}).call(this);

现在,再次打开命令提示符,然后运行CoffeeScript文件,如下所示。

c:\> coffee regex_example.coffee

执行时,CoffeeScript文件将产生以下输出。

[ 'Tutorials Point.',
  'Tutorials Point.',
  index: 29,
  input: 'hello how are you welcome to  Tutorials Point.' ]

Heregex

我们使用JavaScript提供的语法编写的复杂正则表达式是不可读的,因此,为了使正则表达式更具可读性,CoffeeScript为正则表达式提供了扩展语法,称为heregex 。使用这种语法,我们可以使用空格来打破常规正则表达式,也可以在这些扩展正则表达式中使用注释,从而使它们更加用户友好。

下面的示例演示了CoffeeScript heregex中高级正则表达式的用法。在这里,我们使用高级正则表达式重写上面的示例。将此代码保存在名称为heregex_example.coffee的文件中

input_data ="hello how are you welcome to Tutorials Point."
heregex = ///
  #bold opening tag 
(.*) #the tag value
  #bold closing tag
///
result = heregex.exec(input_data)
console.log result

打开命令提示符并编译.coffee文件,如下所示。

c:\> coffee -c heregex_example.coffee

编译时,它将为您提供以下JavaScript。

// Generated by CoffeeScript 1.10.0
(function() {
  var heregex, input_data, result;

  input_data = "hello how are you welcome to  Tutorials Point.";

  heregex = /(.*) /;

  result = heregex.exec(input_data);

  console.log(result);

}).call(this);

现在,再次打开命令提示符,然后运行CoffeeScript文件,如下所示。

c:\> coffee heregex_example.coffee

执行时,CoffeeScript文件将产生以下输出。

[ 'Tutorials Point.',
  'Tutorials Point.',
  index: 29,
  input: 'hello how are you welcome to Tutorials Point.' ]