小编Ane*_*777的帖子

如何只匹配那些在它们前面有偶数个`%`的数字?

我想捕捉出现在字符串中任何位置的数字,并用"(.+)"替换它们.

但我想只抓住那些在%它们前面有偶数个数字的数字.如果有任何周围的字符被抓住,不用担心:我们可以使用捕获组来过滤掉这些数字.

我无法想出一个ECMAscript正则表达式.

这是游乐场:

abcd %1 %%2 %%%3 %%%%4 efgh

abcd%12%%34%%%666%%%%11efgh
Run Code Online (Sandbox Code Playgroud)

成功的捕获将表现如下:
期望的行为


我尝试过的事情:

尝试1

尝试2

尝试3


如果你意识到,第三次尝试几乎正在发挥作用.唯一的问题是在操场的第二行.实际上,我想在那个表达中说的是:

匹配一个数字,如果它前面有偶数个%s AND,则满足以下任一条件:

  • 上面的整个表达之前没有任何 [没有(未消耗或其他)字符].
  • 上面的整个表达式前面是一个字符以外的字符%.

有没有办法匹配缺少一个角色?
这就是我\0在第三次尝试中尝试做的事情.

javascript c++ regex std ecmascript-7

6
推荐指数
1
解决办法
156
查看次数

如何使我的函数粘滞为重载的iostream提取操作符

我正在做一个学校项目,我需要经常更改文本颜色.项目目标是目前仅适用于Windows的控制台应用.将代码块与MinGW一起使用进行调试.我不是菜鸟,但是中级.

所以在代码中无处不在使用它是丑陋的:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), __col._colour_code);
Run Code Online (Sandbox Code Playgroud)

即使我把它包装在一个函数中,它仍然很麻烦和丑陋,因为你不能继续你的cout链.你必须打破链条,因为你必须SetColour在一个新的声明中调用,例如:

SetColour(GRAY);   cout << setcol(PURPLE) << " ID:[";
SetColour(AQUA);   cout << song.GetID();
SetColour(GRAY);   cout << "]" << " ";
SetColour(GREEN);  cout << song.GetTitle();
SetColour(WHITE);  cout << " by ";
SetColour(BRIGHT); cout << song.GetArtist() << "\n";
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的功能setw,setprecision等于是我打开了iomainp.h,并找了一些提示:

struct _Setw { int _M_n; };

inline _Setw 
setw(int __n)
{ return { __n }; }

template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& 
operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
{
  __is.width(__f._M_n);
  return __is; …
Run Code Online (Sandbox Code Playgroud)

c++ windows console iomanip

5
推荐指数
1
解决办法
246
查看次数

如何使用AVR汇编语言进行AnalogRead()?

如果需要具体说明:我在询问ATmega328P芯片。模拟引脚PortC在该芯片上。

我知道digitalWrite可以使用outdigitalRead使用来完成in
但是我该怎么办analogRead?? 请解释。我是新来的。

额外:如果您也显示analogWrite(在PWM的意义上),这将很有帮助。

avr atmega atmel analog-digital-converter

1
推荐指数
1
解决办法
2576
查看次数