javascript - Smart Mobile Studio 中的正则表达式

标签 javascript regex delphi smart-mobile-studio

我如何在 Smart Mobile Studio 中使用正则表达式?例如,我如何在 Object Pascal 中编写以下示例代码?

var re = /\w+\s/g;  
var str = "fee fi fo fum";  
var myArray = str.match(re);  
console.log(myArray);

最佳答案

在 SmartMS 中,正则表达式在 w3regex 单元中实现,因此您首先要将 w3regex 添加到 uses 列表中。

“短”形式(例如问题中的 var re =/\w+\s/g;)不受支持。要创建正则表达式对象,您必须使用构造函数。

re := TW3RegEx.Create('\w+\s', 'g');

内置字符串对象不支持正则匹配。为了简化使用,w3regex 单元实现了字符串助手,它向字符串对象引入了 Match、Replace、Search 和 Split 方法。

您的代码的直接翻译是

var re := TW3Regex.Create('\w+\s', 'g');
var str := 'fee fi fo fum';
var myArray := str.Match(re);

(至于日志记录,我目前不知道如何将字符串数组很好地写入控制台,但这不是问题的一部分。)

w3regex 为 Match 方法实现了一些重载,它将为您动态创建正则表达式对象。由于您还可以将辅助方法应用于字符串文字,因此可以将代码缩短为:

var myArray: TStrArray = ('fee fi fo fum').Match('\w+\s', 'g');

在这种情况下,字符串文字周围需要括号。

在安装的 RegExDemo 程序中记录了在 SmartMS 中使用正则表达式的许多方法。

关于javascript - Smart Mobile Studio 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621890/

相关文章:

python - 我需要设置一个非常具体的正则表达式模式

javascript - 正则表达式解析问题ecmascript

delphi - LiveBindings 在设计时工作,但在运行时不工作

javascript - VueJS解码base64 html字符串

javascript - 向下滚动网页时显示多个粘性标题

javascript - 搜索引擎可以索引 JavaScript 驱动的 Web 应用程序中的单个页面吗?

java - 替换所有特殊字符、数字和字母

javascript - 如何创建包含 3D 空间中动画的 2D 对象的图形 Canvas ?

delphi - 哪些 Amazon Web 服务可以与 Delphi 'out of the box' 一起使用?

delphi - 如何使用单击按钮在绘图网格中绘制选定的单元格