将点的大多数语法转换为 "x,y"
Convert most syntax for points into "x,y"
我正在开发一个 Haxe 项目,完成后,用户可以通过输入简单的英语在 Haxe 中进行编码。输入示例:
Create a number called "Foo".
Set Foo to 100.
Print Foo to the console.
现在,我正在尝试使用一个 EReg(也称为 RegExp 或 Regex)对象将大多数常用点语法转换为 x,y
,这是主要转换函数可以轻松理解的内容.以下是我想考虑的所有语法特性,以某种组合或另一种形式:
100,200
100, 200
(100,200)
[100, 200]
x:100,y:200
(X:100, Y:200)
[ X: 100, y: 200 ]
这些字符串中的每一个 a
都应该由 Regex 对象 r
和 r.replace(a, ",")
计算得到 100,200
。基本上,这包括:
- 任意数量的空格
- 一对可选的方括号或圆括号
- 可选的大写或小写
x:
和 y:
- 但总是用逗号分隔两个数字。
我已经使用某些正则表达式或其他正确地获得了这些功能中的每一个,并且我在同一个中拥有了除 "x:"/"y:" 之外的所有功能。但是因为我没有太多使用 Regex 的经验,所以我不知道如何同时评估所有这些条件。这在 Regex 的范围内是否可能,如果可以,我该怎么做?
提前致谢!
只需尝试:
[\(\[]? *([xX]: *)?(\d+), *(?:[yY]: *)?(\d+) *[\)\]]?
但我想没有必要匹配整个模式。只需尝试匹配数字,例如:
(\d+), *(?:[yY]: *)?(\d+)
我正在开发一个 Haxe 项目,完成后,用户可以通过输入简单的英语在 Haxe 中进行编码。输入示例:
Create a number called "Foo".
Set Foo to 100.
Print Foo to the console.
现在,我正在尝试使用一个 EReg(也称为 RegExp 或 Regex)对象将大多数常用点语法转换为 x,y
,这是主要转换函数可以轻松理解的内容.以下是我想考虑的所有语法特性,以某种组合或另一种形式:
100,200
100, 200
(100,200)
[100, 200]
x:100,y:200
(X:100, Y:200)
[ X: 100, y: 200 ]
这些字符串中的每一个 a
都应该由 Regex 对象 r
和 r.replace(a, ",")
计算得到 100,200
。基本上,这包括:
- 任意数量的空格
- 一对可选的方括号或圆括号
- 可选的大写或小写
x:
和y:
- 但总是用逗号分隔两个数字。
我已经使用某些正则表达式或其他正确地获得了这些功能中的每一个,并且我在同一个中拥有了除 "x:"/"y:" 之外的所有功能。但是因为我没有太多使用 Regex 的经验,所以我不知道如何同时评估所有这些条件。这在 Regex 的范围内是否可能,如果可以,我该怎么做?
提前致谢!
只需尝试:
[\(\[]? *([xX]: *)?(\d+), *(?:[yY]: *)?(\d+) *[\)\]]?
但我想没有必要匹配整个模式。只需尝试匹配数字,例如:
(\d+), *(?:[yY]: *)?(\d+)