正则表达式:在Scala中匹配并标记化

milos.ai

我试图从输入字符串中提取某些模式。这些模式+, - , *, / , (, ), logintegerfloat numbers

这是所需行为的示例:

//input string
var str = "log6*(12+5)/2-34.2"

//wanted result
var rightResp = Array("log","6","*","(","12","+","5",")","/","2","-","34.2")

我已经尝试了一段时间,但是我不得不承认正则表达式不是我的专长。下一段代码显示了我的位置:

import scala.util.matching.Regex

var str = "log6*(12+5)/2-34.2"

val pattern = new Regex("(\\+|-|log|\\*|\\/|[0-9]*\.?[0-9]*)")

pattern.findAllIn(str).toArray

结果不佳,原因是括号“ (”和“ )”以及数字integer(6,12,5,2)float(34.2)没有匹配谢谢你的帮助!

维克多·史翠比维

您可以使用

[+()*/-]|log|[0-9]*\\.?[0-9]+

正则表达式演示

regex包含3个替代方法,这些|替代方法是通过alter运算符加入的

  • [+()*/-]-匹配单个文字字符:+()*/-(注意,连字符没有逃脱,因为它是在字符类的结尾)
  • log -文字字母序列 log
  • [0-9]*\\.?[0-9]+-一个浮点数,它接受与之匹配的.055.55如...
    • [0-9]* -0或更多数字
    • \\.? -和可选(1或0)立即数
    • [0-9]+ -1个或多个数字。

这是一个Scala代码示例

import scala.util.matching.Regex
object Main extends App {
   var str = "log6*(12+5)/2-34.2"
   val pattern = new Regex("[+()*/-]|log|[0-9]*\\.?[0-9]+")
   val res = pattern.findAllIn(str).toArray
    println(res.deep.mkString(", "))
}

结果: log, 6, *, (, 12, +, 5, ), /, 2, -, 34.2

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式标记最短的重叠匹配

来自分类Dev

使用正则表达式的Scala数组模式匹配

来自分类Dev

不带<a>标记的正则表达式匹配链接

来自分类Dev

与任何html标记都不匹配的正则表达式

来自分类Dev

使用XSLT标记匹配正则表达式的文本?

来自分类Dev

正则表达式与PHP中的正则表达式不匹配

来自分类Dev

嵌套标记中父项匹配值的正则表达式

来自分类Dev

如何使用正则表达式匹配多个标记?

来自分类Dev

用正则表达式匹配尾随<br>标记

来自分类Dev

正则表达式使用string.gmatch匹配字符串中的标记

来自分类Dev

正则表达式的正则表达式在Python中不匹配

来自分类Dev

正则表达式替换html标记中的所有匹配项

来自分类Dev

正则表达式:重复与html标记匹配的正则表达式的子表达式

来自分类Dev

javascript正则表达式匹配标记名称

来自分类Dev

正则表达式匹配文本中的<%=服务器标记以防止注入

来自分类Dev

Scala正则表达式多行匹配,负前瞻

来自分类Dev

如何制作与多行字符串中的标记匹配的正则表达式?

来自分类Dev

正则表达式:在正则表达式定义的区域(emacs)中多次匹配

来自分类Dev

Python正则表达式-html标记中的单词不匹配

来自分类Dev

正则表达式:在Scala中进行匹配和标记化

来自分类Dev

标记化正则表达式

来自分类Dev

正则表达式匹配多行字符串中的多个元标记

来自分类Dev

正则表达式:从特定的元标记中匹配并删除特定的单词或符号,例如“ |”

来自分类Dev

使用Scala正则表达式提取匹配组

来自分类Dev

模式匹配 Scala 中的正则表达式数组

来自分类Dev

Scala:正则表达式模式与花括号匹配?

来自分类Dev

Scala - 字符串匹配正则表达式

来自分类Dev

基于正则表达式的标记化并保留匹配模式

来自分类Dev

匹配包装 url 的锚标记的正则表达式

Related 相关文章

  1. 1

    使用正则表达式标记最短的重叠匹配

  2. 2

    使用正则表达式的Scala数组模式匹配

  3. 3

    不带<a>标记的正则表达式匹配链接

  4. 4

    与任何html标记都不匹配的正则表达式

  5. 5

    使用XSLT标记匹配正则表达式的文本?

  6. 6

    正则表达式与PHP中的正则表达式不匹配

  7. 7

    嵌套标记中父项匹配值的正则表达式

  8. 8

    如何使用正则表达式匹配多个标记?

  9. 9

    用正则表达式匹配尾随<br>标记

  10. 10

    正则表达式使用string.gmatch匹配字符串中的标记

  11. 11

    正则表达式的正则表达式在Python中不匹配

  12. 12

    正则表达式替换html标记中的所有匹配项

  13. 13

    正则表达式:重复与html标记匹配的正则表达式的子表达式

  14. 14

    javascript正则表达式匹配标记名称

  15. 15

    正则表达式匹配文本中的<%=服务器标记以防止注入

  16. 16

    Scala正则表达式多行匹配,负前瞻

  17. 17

    如何制作与多行字符串中的标记匹配的正则表达式?

  18. 18

    正则表达式:在正则表达式定义的区域(emacs)中多次匹配

  19. 19

    Python正则表达式-html标记中的单词不匹配

  20. 20

    正则表达式:在Scala中进行匹配和标记化

  21. 21

    标记化正则表达式

  22. 22

    正则表达式匹配多行字符串中的多个元标记

  23. 23

    正则表达式:从特定的元标记中匹配并删除特定的单词或符号,例如“ |”

  24. 24

    使用Scala正则表达式提取匹配组

  25. 25

    模式匹配 Scala 中的正则表达式数组

  26. 26

    Scala:正则表达式模式与花括号匹配?

  27. 27

    Scala - 字符串匹配正则表达式

  28. 28

    基于正则表达式的标记化并保留匹配模式

  29. 29

    匹配包装 url 的锚标记的正则表达式

热门标签

归档