我正在尝试用一些文本对正则表达式进行正则表达式。我想忽略后面带有import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
Scaffold.of(context).showSnackBar(SnackBar(content: Text('Welcome User')));
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
);
}
}
标记的域。
例如,给出以下输入:
col1 col2 col3
a ex1 102
a ex2 25
a ex3 50
a ex4 66
b ex2 45
b ex5 20
c ex1 30
我希望我的比赛中包含一项:
col1 ex1 ex2 ex3 ex4 ex5
a 102 25 50 66 0
b 0 45 0 0 20
c 30 0 0 0 0
我尝试了以下操作:
</span>
上述问题是,负前行只是意味着输入中的第二项被删减,仍然被认为是有效的:
matchme.com<span>dontmatchme.com</span>
我在https://regex101.com/r/FpWomQ/1处有一个regex101
答案 0 :(得分:1)
您是否可以将正则表达式更改为忽略以<
开头的行,如果可以的话,可以使用此正则表达式
^[^<]*$
其含义将与不以<
开头的任何行匹配
答案 1 :(得分:1)
您可以使用以下正则表达式:
[a-z.]+(?=<\/span>)|([a-z.]+)(?=<[\/a-z]+>)
正则表达式使用轮换仅捕获不跟</span>
的域。
[a-z.]+
匹配尽可能多的字母或.
字符。(?=<\/span>)
正向</span>
前进。|
交替(OR)。([a-z.]+)
捕获组。匹配尽可能多的字母或.
字符。(?=<[\/a-z]+>)
正向前看,用于打开括号<
,字母字符或正斜杠/
,右括号>
。所需的匹配项包含在捕获组中。 您可以实时使用正则表达式here。