我不擅长 Java 正则表达式。
我有以下文字
[[image:testimage.png||height=\"481\" width=\"816\"]]
我想从上面的文本中提取 image: 、 height 和 width 。有人可以帮我写正则表达式来实现吗?
我不擅长 Java 正则表达式。
我有以下文字
[[image:testimage.png||height=\"481\" width=\"816\"]]
我想从上面的文本中提取 image: 、 height 和 width 。有人可以帮我写正则表达式来实现吗?
如果这是您的确切字符串
[[image:testimage.png||height=\"481\" width=\"816\"]]
然后尝试以下(原油):
String input = // read your input string
String regex = ".*height=\\\\\"(\\d+)\\\\\" width=\\\\\"(\\d+)"
String result = input.replaceAll(regex, "$1 $2");
String[] height_width = result.split(" ")
这是一种方法,另一种(更好)是使用模式
此正则表达式将匹配属性及其关联值。您必须遍历它在源字符串中找到的每个匹配项,以获取所需的所有信息。
(\w+)[:=]("?)([\w.]+)\2
您有三个捕获组。您对其中两个感兴趣:
以下是正则表达式的细分:
(\w+) #Group 1: Match the property name.
[:=] #The property name/value separator.
("?) #Group 2: The string delimiter.
([\w.]+) #Group 3: The property value. (Accepts letters, numbers, underscores and periods)
\2 #The closing string delimiter if there was one.
试试这个正则表达式:
((?:image|height|width)\D+?([a-zA-Z\d\.\\"]+))
你会得到两组。
例如,
- 高度=\"481\"
- 481