string = 'company: / name: James / Street: 24 High Road /'
name = re.search('Name:(.*)/(.*)Street:)', string)
print(name)
我正在尝试使用正则表达式从上面的字符串中获取“ James”,但找不到解决方案。如何使用正则表达式解决这种情况?
答案 0 :(得分:3)
将我的评论转换为答案,因为这是正确的选择。
您可以使用此正则表达式:
router.post('/', (req, res, next)=> {
if (req.isAuthenticated()) {
req.logOut();
req.session.destroy();
res.clearCookie('connect.sid');
}
next();
},
passport.authenticate('local'),
asyncMiddleware(async(req, res, next)=>{
return res.status(200).json({
'message' : 'SUCCESS',
'user_id':req.user.id,
'first_name' : req.user.first_name,
'last_name' : req.user.last_name,
'username' : req.user.username,
'user_type' : req.user.permission_id,
'user_status_id' : req.user.user_status_id,
});
}));
var sessionStore = new MySQLStore(options);
//handles cookie/session creation
app.set('trust proxy', 1); // trust first proxy
app.use(session({
secret: config.sessionKey,
resave: false,
store:sessionStore,
saveUninitialized: true,
duration:365*24*60*60*1000, //1 year in milliseconds
cookie: {
//secure: true,
maxAge:365*24*60*60*1000 //1 year in milliseconds
}
}));
为您的正则表达式启用忽略大小写匹配。
如果您想在比赛结束后断言>>> string = 'company: / name: James / Street: 24 High Road /'
>>> print ( re.search(r'(?i)name:\s*(\w+)', string).group(1) )
James
的存在,请将该正则表达式与前瞻性断言一起使用:
(?i)
答案 1 :(得分:0)
如果命名约定一致,则可以使用.split()将其拆分为列表
stringy = 'company: / name: James / Street: 24 High Road /'
name = stringy.split('/')
编辑:这将只抓取名称为
的元素name = [n for n in name if 'name' in n]