如何在Node.js中使用我的PHP正则表达式?

CLE代码

我在PHP中有一个正则表达式,但是当我将其移植到Node.js时,我得到的输出与从PHP中得到的输出并不相同,但是我认为这是因为我真的不知道如何制作PREG_SET_ORDER在Node.js中工作。


示例文字:

INPUT - Each line represents a line inside a text file. 
-------------------------------------------------------------------------------------
"!?Text" (1234)                                         1234-4321
"#1 Text" (1234)                                        1234-????
#2 Text (1234) {Some text (#1.1)}                       1234
Text (1234)                                             1234
Some Other Text: More Text here 1234-4321 (1234) (V)    1234

PHP:

preg_match_all("/^((.*?) *\((\d+)\))(?: *\{((.*?) *\((.+?)\)) *\})?/m",$data,$r, PREG_SET_ORDER);
$i = 0;
foreach($r as $a) {
    array_splice($a, 0, 2);
    if(count($a) > 2) {
        array_splice($a, 2, 1);
    }
    print_r($a);
}

Node.js:

var regex = /^((.*?) *\((\d+)\))(?: *\{((.*?) *\((.+?)\)) *\})?/mg
var result = data.toString().match(regex);
console.log(result);

PHP(输出):

Array
(
    [0] => "!?Text"
    [1] => 1234
)
Array
(
    [0] => "#1 Text"
    [1] => 1234
)
Array
(
    [0] => #2 Text
    [1] => 1234
    [2] => Some text
    [3] => #1.1
)
Array
(
    [0] => Text
    [1] => 1234
)
Array
(
    [0] => Some Other Text: More Text here 1234-4321
    [1] => 1234
)

Node.js(输出):

[ '"!?Text" (1234)',
  '"#1 Text" (1234)',
  '#2 Text (1234) {Some text (#1.1)}',
  'Text (1234)',
  'Some Other Text: More Text here 1234-4321 (1234)' ]
CLE代码

我设法使它像这样工作:

function data_to_array(data) {
   var regex = '^((.*?) *\\((\\d+)\\))(?: *\\{((.*?) *\\((.+?)\\)) *\\})?';
   var Regex = new RegExp(regex, 'mg');
   var Matches = data.match(Regex);
   matchesArray = new Array();
   for (var i in Matches) {
      ngRegex = new RegExp(regex);
      ngMatches = Matches[i].match(ngRegex);
      ngMatches.splice(0, 2);
      if(ngMatches.length > 2) {
        ngMatches.splice(2, 1);
      }
      matchesArray.push(ngMatches);
   }
   return matchesArray;
}

var output = data_to_array(data.toString());
console.log(output);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在php中使用正则表达式?

来自分类Dev

我如何在php中使用正则表达式验证if语句的语法

来自分类Dev

在PHP中我如何在preg_replace中使用两个正则表达式?

来自分类Dev

如何在Realm中使用正则表达式

来自分类Dev

如何在Java的正则表达式中使用OR?

来自分类Dev

如何在angularjs中使用正则表达式

来自分类Dev

如何在正则表达式中使用Unicode

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在SMLNJ中使用正则表达式

来自分类Dev

如何在熊猫中使用正则表达式?

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在正则表达式中使用加号

来自分类Dev

如何在iptables中使用正则表达式

来自分类Dev

如何在正则表达式函数中使用

来自分类Dev

如何在正则表达式中使用“[”和“]”

来自分类Dev

如何在python中使用正则表达式?

来自分类Dev

我如何在Birt报告中使用正则表达式并替换

来自分类Dev

我如何在Jmeter中使用正则表达式获取值

来自分类Dev

如何在PHP中使用正则表达式删除前导字符和查询字符?

来自分类Dev

如何在php中使用正则表达式字符串

来自分类Dev

如何在PHP中使用正则表达式从简单括号中删除文本?

来自分类Dev

如何在php中使用正则表达式从句子中获取特定值

来自分类Dev

如何在 PHP 中使用正则表达式或数组索引访问 JSON 元素

来自分类Dev

如何在 PHP 中使用正则表达式解析输入文本

来自分类Dev

如何在我的正则表达式中在 C# 中使用未命名的正则表达式组?

来自分类Dev

如何在绑定表达式中使用正则表达式文字?

来自分类Dev

如何在文件中使用::作为正则表达式的正则表达式serde

来自分类Dev

如何在正则表达式中存储值以在同一正则表达式中使用

来自分类Dev

如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

Related 相关文章

  1. 1

    如何在php中使用正则表达式?

  2. 2

    我如何在php中使用正则表达式验证if语句的语法

  3. 3

    在PHP中我如何在preg_replace中使用两个正则表达式?

  4. 4

    如何在Realm中使用正则表达式

  5. 5

    如何在Java的正则表达式中使用OR?

  6. 6

    如何在angularjs中使用正则表达式

  7. 7

    如何在正则表达式中使用Unicode

  8. 8

    如何在yii中使用正则表达式

  9. 9

    如何在SMLNJ中使用正则表达式

  10. 10

    如何在熊猫中使用正则表达式?

  11. 11

    如何在yii中使用正则表达式

  12. 12

    如何在正则表达式中使用加号

  13. 13

    如何在iptables中使用正则表达式

  14. 14

    如何在正则表达式函数中使用

  15. 15

    如何在正则表达式中使用“[”和“]”

  16. 16

    如何在python中使用正则表达式?

  17. 17

    我如何在Birt报告中使用正则表达式并替换

  18. 18

    我如何在Jmeter中使用正则表达式获取值

  19. 19

    如何在PHP中使用正则表达式删除前导字符和查询字符?

  20. 20

    如何在php中使用正则表达式字符串

  21. 21

    如何在PHP中使用正则表达式从简单括号中删除文本?

  22. 22

    如何在php中使用正则表达式从句子中获取特定值

  23. 23

    如何在 PHP 中使用正则表达式或数组索引访问 JSON 元素

  24. 24

    如何在 PHP 中使用正则表达式解析输入文本

  25. 25

    如何在我的正则表达式中在 C# 中使用未命名的正则表达式组?

  26. 26

    如何在绑定表达式中使用正则表达式文字?

  27. 27

    如何在文件中使用::作为正则表达式的正则表达式serde

  28. 28

    如何在正则表达式中存储值以在同一正则表达式中使用

  29. 29

    如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

热门标签

归档