第一次发帖,需要一点正面帮助,我正试图想出来。
这是我的格式
|user|DOMAIN\user|
我正在尝试编写一个仅捕获用户名的正则表达式匹配,然后只捕获域。
我的思维过程是首先匹配所有文本,然后创建(3)组?基于此我会得到我正在寻找的信息。
连连呢?实例
答案 0 :(得分:1)
答案 1 :(得分:1)
使用非贪婪量词有助于提高可读性:
@Component() {
template: '{{cats.captchans.funniest}}'
}
export class CatsComponent {
public cats: CatsModel;
ngOnInit () {
this._http.get('/api/v1/cats').subscribe(response => cats = response.json());
}
}
输出
set data {|glenn|JACKMAN\glenn|}
regexp {^\|(.*?)\|(.*?)\\} $data -> user domain
puts "$user:$domain"
答案 2 :(得分:0)
如果您没有使用正则表达式匹配的约束,我建议您将字符串拆分为管道。这样,您的第一个或第二个令牌(取决于给定语言在第一个管道之前如何处理空令牌)将是用户。现在,您可以从下一个标记的末尾删除[length(user)+ 1]子字符串。这将为您提供DOMAIN。
请注意,此处的假设是,用户或DOMAIN不包含任何管道符(|)。
答案 3 :(得分:0)
这也是匹配用户名和域名的另一种选择。
%设置数据{| glenn | JACKMAN \ glenn |}
|格伦| JACKMAN \格伦|
%regexp {^ \ |([^ |] +)\ |([^ \] +)。*} $ data m a b
1
%put" --- a $ a ---- b $ b ----"
---一个glenn ---- b JACKMAN ----
完全匹配的另一种方式。
%regexp {^ \ |([A-z] +)\ |([A-z] +)\。*} $ data m a b
1
%put"匹配$ m --- a $ a ---- b $ b ----"
match | glenn | JACKMAN \ glenn | --- a glenn ---- b JACKMAN ----