RegEx模式可捕获逗号分隔的单词列表

时间:2019-06-09 18:58:43

标签: regex

有人知道一个可重复的RegEx模式来捕获逗号分隔列表之间的单词吗?

例如:

void Update()
{
    //Calculate movement velocity as a 3D vector
    float _xMov = Input.GetAxis("Horizontal");
    float _zMov = Input.GetAxis("Vertical");

    Vector3 _movHorizontal = transform.right * _xMov;
    Vector3 _movVertical = transform.forward * _zMov;


    //final movement vector
    Vector3 _velocity = (_movHorizontal + _movVertical).normalized * speed;

    //apply movement
    motor.Move(_velocity);

}

这用于IDE中的查找和替换,因此大多数编程语言提供的City,State,Latitude,Longitude // $1,$2,$3,$4 方法不是解决方案。另外,请不要先行查询/环顾四周,这些不受普遍支持。

说明 :( 1)只需要在一行上捕获逗号分隔的单词-而不是跨多行,(2)该示例的解决方案就足够了。

3 个答案:

答案 0 :(得分:1)

这是我目前最好的解决方案

.split

答案 1 :(得分:1)

如果我们的输入就这么简单,那么您最好的解决方案就很好了,^可能不是必需的,并且这些表达式可能会起作用:

([^,]*),([^,]*),([^,]*),([^,]*)
([^,]+),([^,]+),([^,]+),([^,]+)

或者如果需要开始和结束锚点:

^([^,]*),([^,]*),([^,]*),([^,]*)$
^([^,]+),([^,]+),([^,]+),([^,]+)$

RegEx电路

jex.im可视化正则表达式:

enter image description here

答案 2 :(得分:1)

尝试使用$1(已通过VsCode测试)

\s?(\w+)\s?,?